demo.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #include <rtthread.h>
  2. #include "board.h"
  3. #include "cybsp.h"
  4. #include "cy_device_headers.h"
  5. #ifdef RT_USING_FINSH
  6. #include <finsh.h>
  7. #include <shell.h>
  8. #endif
  9. static rt_thread_t tid1 = RT_NULL;
  10. static rt_thread_t tid2 = RT_NULL;
  11. static void thread1_entry(void* parameter)
  12. {
  13. rt_uint32_t count = 0;
  14. parameter = parameter;
  15. rt_kprintf("thread1 created ok\n");
  16. while (1)
  17. {
  18. rt_kprintf("thread1 count: %d\n",count++);
  19. rt_thread_delay(RT_TICK_PER_SECOND);
  20. }
  21. }
  22. static void thread2_entry(void* parameter)
  23. {
  24. rt_uint32_t count = 0;
  25. parameter = parameter;
  26. rt_kprintf("thread2 created ok\n");
  27. while(1)
  28. {
  29. rt_kprintf("thread2 count: %d\n",count++);
  30. rt_thread_delay(RT_TICK_PER_SECOND/4);
  31. }
  32. rt_thread_delay(RT_TICK_PER_SECOND * 4);
  33. rt_thread_delete(tid1);
  34. rt_kprintf("thread1 deleted ok\n");
  35. }
  36. int demo_init(void)
  37. {
  38. tid1 = rt_thread_create("thread1", thread1_entry, RT_NULL, 512, 6, 10);
  39. if (tid1 != RT_NULL)
  40. rt_thread_startup(tid1);
  41. tid2 = rt_thread_create("thread2", thread2_entry, RT_NULL, 512, 6, 10);
  42. if (tid2 != RT_NULL)
  43. rt_thread_startup(tid2);
  44. return 0;
  45. }