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

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 系统的初始化及启动工作已经完成,系统会进入运行状态。

转载于:https://www.cnblogs.com/GyForever1004/p/8910343.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值