led.c 1003 B

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