单片机教程网

电脑版
提示:原网页已由神马搜索转码, 内容由www.51hei.com提供.
查看:2392|回复:0
打印上一主题下一主题

ucosii工程文件

[复制链接]
跳转到指定楼层
楼主
ID:814144发表于 2021-2-5 09:21|只看该作者回帖奖励

  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 任务
  12. //设置任务优先级
  13. #define START_TASK_PRIO         10 //开始任务的优先级设置为最低
  14. //设置任务堆栈大小
  15. #define START_STK_SIZE       64
  16. //任务堆栈
  17. OS_STK START_TASK_STK[START_STK_SIZE];
  18. //任务函数
  19. void start_task(void *pdata);
  20.       
  21. //LED0任务
  22. //设置任务优先级
  23. #define LED0_TASK_PRIO         7
  24. //设置任务堆栈大小
  25. #define LED0_STK_SIZE               64
  26. //任务堆栈
  27. OS_STK LED0_TASK_STK[LED0_STK_SIZE];
  28. //任务函数
  29. void led0_task(void *pdata);


  30. //LED1任务
  31. //设置任务优先级
  32. #define LED1_TASK_PRIO         6
  33. //设置任务堆栈大小
  34. #define LED1_STK_SIZE       64
  35. //任务堆栈
  36. OS_STK LED1_TASK_STK[LED1_STK_SIZE];
  37. //任务函数
  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 );//创建起始任务
  44. OSStart();            
  45.   
  46.    while(1)
  47. {

  48. }      
  49. }

  50.   
  51. //开始任务
  52. void start_task(void *pdata)
  53. {
  54.    OS_CPU_SR cpu_sr=0;
  55. pdata = pdata;
  56.        OS_ENTER_CRITICAL();     //进入临界区(无法被中断打断)  
  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);     //挂起起始任务.
  60. OS_EXIT_CRITICAL();     //退出临界区(可以被中断打断)
  61. }




  62. //LED0任务
  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任务
  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. }
复制代码


uCOS-IIyizhichenggong.7z

4.24 MB, 下载次数: 24, 下载积分: 黑币 -5

评分

黑币 +10
收起理由
+ 10
共享资料的黑币奖励!

查看全部评分

手机版|小黑屋|51黑电子论坛|51黑电子论坛6群QQ管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网