applications.c 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #include <rtthread.h>
  2. static void rt_init_thread_entry(void* parameter)
  3. {
  4. #ifdef RT_USING_COMPONENTS_INIT
  5. /* initialization RT-Thread Components */
  6. rt_components_init();
  7. #endif
  8. rt_thread_delay( RT_TIMER_TICK_PER_SECOND*2 ); /* sleep 0.5 second and switch to other thread */
  9. }
  10. #include <encoding.h>
  11. #include <platform.h>
  12. static void led_thread_entry(void* parameter)
  13. {
  14. unsigned int count=0;
  15. rt_hw_led_init();
  16. while (0)
  17. {
  18. /* rt_hw_led_on(0);*/
  19. rt_thread_delay( RT_TIMER_TICK_PER_SECOND/2 ); /* sleep 0.5 second and switch to other thread */
  20. /* led1 off */
  21. rt_hw_led_off(0);
  22. rt_thread_delay( RT_TIMER_TICK_PER_SECOND*2);
  23. }
  24. }
  25. static rt_uint8_t led_stack[ 1024];
  26. static struct rt_thread led_thread;
  27. void rt_application_init()
  28. {
  29. rt_thread_t init_thread;
  30. rt_err_t result;
  31. /* init led thread */
  32. result = rt_thread_init(&led_thread,
  33. "led",
  34. led_thread_entry,
  35. RT_NULL,
  36. (rt_uint8_t*)&led_stack[0],
  37. sizeof(led_stack),
  38. 20,
  39. 5);
  40. if (result == RT_EOK)
  41. {
  42. rt_thread_startup(&led_thread);
  43. }
  44. init_thread = rt_thread_create("init",
  45. rt_init_thread_entry,
  46. RT_NULL,
  47. 512,
  48. 8,
  49. 20);
  50. if (init_thread != RT_NULL)
  51. rt_thread_startup(init_thread);
  52. return;
  53. }