application.c 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. * File : app.c
  3. * This file is part of RT-Thread RTOS
  4. * COPYRIGHT (C) 2013, RT-Thread Development Team
  5. *
  6. * The license and distribution terms for this file may be
  7. * found in the file LICENSE in this distribution or at
  8. * http://openlab.rt-thread.com/license/LICENSE
  9. *
  10. * Change Logs:
  11. * Date Author Notes
  12. * 2013-05-24 Grissiom first version
  13. */
  14. #include <rtthread.h>
  15. #include "system.h"
  16. #include "het.h"
  17. int ulRegTest1Counter;
  18. int ulRegTest2Counter;
  19. static rt_uint8_t user_thread_stack[512];
  20. static struct rt_thread user_thread;
  21. static void user_thread_entry(void *p)
  22. {
  23. int i;
  24. gioSetDirection(hetPORT1, 0xFFFFFFFF);
  25. for(i = 0; ;i++)
  26. {
  27. gioSetBit(hetPORT1, 17, gioGetBit(hetPORT1, 17) ^ 1);
  28. rt_thread_delay(100);
  29. }
  30. }
  31. static rt_uint8_t test_thread_stack[512];
  32. static struct rt_thread test_thread;
  33. void vRegTestTask1(void*);
  34. static rt_uint8_t test_thread_stack2[512];
  35. static struct rt_thread test_thread2;
  36. void vRegTestTask2(void*);
  37. int rt_application_init()
  38. {
  39. rt_thread_init(&user_thread, "user1", user_thread_entry, RT_NULL,
  40. user_thread_stack, sizeof(user_thread_stack), 21, 20);
  41. rt_thread_startup(&user_thread);
  42. rt_thread_init(&test_thread, "test1", vRegTestTask1, RT_NULL,
  43. test_thread_stack, sizeof(test_thread_stack), 21, 20);
  44. rt_thread_startup(&test_thread);
  45. rt_thread_init(&test_thread2, "test2", vRegTestTask2, RT_NULL,
  46. test_thread_stack2, sizeof(test_thread_stack2), 22, 20);
  47. rt_thread_startup(&test_thread2);
  48. return 0;
  49. }