找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2052|回复: 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, 下载次数: 23, 下载积分: 黑币 -5

评分

参与人数 1黑币 +10 收起 理由
admin + 10 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

快速回复 返回顶部 返回列表