首页 > 其他 > 详细

μC/OS-II 创建一个任务的流程

时间:2018-04-22 23:25:39      阅读:260      评论:0      收藏:0      [点我收藏+]

1. 声明任务的优先级、任务堆栈的大小及任务函数

#define LED_TASK_PRIO                   6
#define LED_STK_SIZE                    64

void led_task(void *pdata);

2. 分配任务堆栈缓冲区

OS_STK LED_TASK_STK[LED_STK_SIZE];

3. 初始化 OS

OSInit();   
    -->
    OS_InitRdyList();                            
    OS_InitTCBList();                       
    OS_InitEventList();  
    OS_InitTaskIdle(); 
    OS_InitTaskStat();
    ......

初始化系统中重要的链表及两个系统任务(空闲和统计任务)等操作

4. 任务的创建

OSTaskCreate(led_task,(void *)0,(OS_STK*)&LED_TASK_STK[LED_STK_SIZE-1],LED_TASK_PRIO);  
    -->
    配置任务链表及初始化任务堆栈等操作

5. 启动 OS

OSStart();
    -->
    系统启动,开始实现各任务的调度工作

到此,μCOS-II 系统的初始化及启动工作已经完成,系统会进入运行状态。

μC/OS-II 创建一个任务的流程

原文:https://www.cnblogs.com/GyForever1004/p/8910343.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!