標(biāo)題: ucosii工程文件 [打印本頁(yè)]

作者: 啊大    時(shí)間: 2021-2-5 09:21
標(biāo)題: ucosii工程文件

  1. /******************************************************************************
  2. * File       : main.c
  3. * Function   : 主文件
  4. * Description: None         
  5. * Version    : V1.00
  6. * Author     : WXP
  7. * Date       :
  8. * History    :  
  9. ******************************************************************************/

  10. #include "includes.h"


  11. //START 任務(wù)
  12. //設(shè)置任務(wù)優(yōu)先級(jí)
  13. #define START_TASK_PRIO              10 //開始任務(wù)的優(yōu)先級(jí)設(shè)置為最低
  14. //設(shè)置任務(wù)堆棧大小
  15. #define START_STK_SIZE          64
  16. //任務(wù)堆棧
  17. OS_STK START_TASK_STK[START_STK_SIZE];
  18. //任務(wù)函數(shù)
  19. void start_task(void *pdata);
  20.           
  21. //LED0任務(wù)
  22. //設(shè)置任務(wù)優(yōu)先級(jí)
  23. #define LED0_TASK_PRIO               7
  24. //設(shè)置任務(wù)堆棧大小
  25. #define LED0_STK_SIZE                      64
  26. //任務(wù)堆棧
  27. OS_STK LED0_TASK_STK[LED0_STK_SIZE];
  28. //任務(wù)函數(shù)
  29. void led0_task(void *pdata);


  30. //LED1任務(wù)
  31. //設(shè)置任務(wù)優(yōu)先級(jí)
  32. #define LED1_TASK_PRIO               6
  33. //設(shè)置任務(wù)堆棧大小
  34. #define LED1_STK_SIZE          64
  35. //任務(wù)堆棧
  36. OS_STK LED1_TASK_STK[LED1_STK_SIZE];
  37. //任務(wù)函數(shù)
  38. void led1_task(void *pdata);

  39. int main(void)
  40. {

  41. Bsp_Init();
  42. OSInit();   
  43.         OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO );//創(chuàng)建起始任務(wù)
  44. OSStart();                   
  45.    
  46.     while(1)
  47. {

  48. }         
  49. }

  50.   
  51. //開始任務(wù)
  52. void start_task(void *pdata)
  53. {
  54.     OS_CPU_SR cpu_sr=0;
  55. pdata = pdata;
  56.           OS_ENTER_CRITICAL();        //進(jìn)入臨界區(qū)(無(wú)法被中斷打斷)   
  57.         OSTaskCreate(led0_task,(void *)0,(OS_STK*)&LED0_TASK_STK[LED0_STK_SIZE-1],LED0_TASK_PRIO);          
  58.         OSTaskCreate(led1_task,(void *)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],LED1_TASK_PRIO);                   
  59. OSTaskSuspend(START_TASK_PRIO);        //掛起起始任務(wù).
  60. OS_EXIT_CRITICAL();        //退出臨界區(qū)(可以被中斷打斷)
  61. }




  62. //LED0任務(wù)
  63. void led0_task(void *pdata)
  64. {         
  65. while(1)
  66. {
  67. LED2(ON);
  68. OSTimeDlyHMSM(0,0,0,200);
  69. LED2(OFF);
  70. OSTimeDlyHMSM(0,0,0,200);
  71. }
  72. }

  73. //LED1任務(wù)
  74. void led1_task(void *pdata)
  75. {          
  76. while(1)
  77. {
  78.         LED3(ON);
  79. OSTimeDlyHMSM(0,0,0,500);
  80. LED3(OFF);
  81. OSTimeDlyHMSM(0,0,0,500);
  82. }
  83. }
復(fù)制代碼


uCOS-IIyizhichenggong.7z

4.24 MB, 下載次數(shù): 24, 下載積分: 黑幣 -5






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1