1 #include <rtthread.h>
2 #include <board.h>
3
led_thread_entry(void * parameter)4 static void led_thread_entry(void* parameter)
5 {
6 /* Configure GPIO as Output mode */
7 GPIO_Init(GPIO_GROUP_GPIO, 0xFFFFFFFF);
8 GPIO_EnableOutput(GPIO_GROUP_GPIO, 0x81010101);
9
10 // LED4, 200ns period
11 GPIO_InitPwm(GPIO_PWM_CHANNEL_GPIO_31, 100, 100);
12 GPIO_EnablePwm(GPIO_PWM_CHANNEL_GPIO_31, TRUE);
13
14 while(1)
15 {
16 GPIO_Write(GPIO_GROUP_GPIO, 0x01010101, 0x55555555);
17 rt_thread_delay(RT_TICK_PER_SECOND/3);
18 GPIO_Write(GPIO_GROUP_GPIO, 0x01010101, 0xAAAAAAAA);
19 rt_thread_delay(RT_TICK_PER_SECOND/3);
20 }
21 }
22
led_thread_init(void)23 static int led_thread_init(void)
24 {
25 rt_thread_t tid;
26
27 tid = rt_thread_create("led",
28 led_thread_entry,
29 RT_NULL,
30 2048,
31 RT_THREAD_PRIORITY_MAX - 1,
32 1);
33
34 if (tid != RT_NULL)
35 rt_thread_startup(tid);
36
37 return 0;
38 }
39 INIT_APP_EXPORT(led_thread_init);
40