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