uc/os-iii学习笔记-OSTaskCreate

记了几篇笔记后发现,基本就是在抄书,而且由于本人绘图能力有限,也无法贴上图表去说明,可能导致后来的读者完全摸不清头脑,所以再次声明,本人只是在给自己做知识点笔记,相关图标和介绍请阅读书籍《嵌入式实时操作系统us/os-iii》

  • 必须为该任务分配一个任务控制块(OS_TCB)。
    static OS_TCB AppTaskStartTCB
    每个任务都必须有属于自己的栈(CPU_STK)。
    static CPU_STK AppTackStartStk[APP_TASK_START_STK_SIZE]
  • 举例
void main(void)
{
    OS_ERR err;
    BSP_InitDisALL();//首先调用BSP函数关闭所有中断
    OSInit(&err);//调用OSInit函数初始化UCOS-III,函数会建立至少2个任务:空闲任务和时钟节拍任务。空                                                            闲任务是在其他任务都不就绪的时候运行,一般为变量的++,时钟节拍任务负责时间管理。必须在调用其他任何UCOS-III函数前调用OSInit();
    void  OSTaskCreate (OS_TCB        *p_tcb,//任务控制块地址
                        CPU_CHAR      *p_name,//任务的名字
                        OS_TASK_PTR    p_task,//任务代码起始地址
                        void          *p_arg,//第一次运行收到的参数
                        OS_PRIO        prio,//任务优先级
                        CPU_STK       *p_stk_base,//栈空间的基址
                        CPU_STK_SIZE   stk_limit,//任务栈深度标记,任务可用的栈空间深度
                        CPU_STK_SIZE   stk_size,//栈空间大小
                        OS_MSG_QTY     q_size,//
                        OS_TICK        time_quanta,
                        void          *p_ext,
                        OS_OPT         opt,
                        OS_ERR        *p_err)
}
OSStart(&err);//开始多任务系统的管理,ucos-iii会首先运行在调用OSStart之前已经创建的优先级最高的任务。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值