UCOS III 常见函数(更新ing)

1. OSInit(&err); //初始化UCOSIII

        在系统任务创建之前,进行系统初始化

2. OSTaskCreate((OS_TCB * )&StartTaskTCB, //任务控制块
(CPU_CHAR * )"start task", //任务名字
                 (OS_TASK_PTR )start_task, //任务函数
                 (void * )0, //传递给任务函数的参数
                 (OS_PRIO  )START_TASK_PRIO,     //任务优先级
                 (CPU_STK   * )&START_TASK_STK[0], //任务堆栈基地址
                 (CPU_STK_SIZE)START_STK_SIZE/10, //任务堆栈深度限位
                 (CPU_STK_SIZE)START_STK_SIZE, //任务堆栈大小
                 (OS_MSG_QTY  )0, //任务内部消息队列能够接收的最大消息数目,为0时禁止接收消息
                 (OS_TICK  )0, //当使能时间片轮转时的时间片长度,为0时为默认长度,
                 (void   * )0, //用户补充的存储区
                 (OS_OPT      )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, //任务选项

                 (OS_ERR * )&err);

        任务创建函数,对任务的任务控制块、任务优先级、任务堆栈、任务函数等进行处理。

3.    OSStart(&err);  //开启UCOSIII

        在对任务初始化、任务创建之后,开启UCOS III之后系统开始运行。

4.    OSTaskDel( OS_TCB  *p_tcb, OS_ERR  *p_err ); //任务删除函数 

        如果不想使用某个任务了,调用任务删除函数删除这个任务。

        注意两点:1、删除某个任务以后,他占用的OS_TCB和堆栈可以再次利用来创建其他任务。

                        2、尽管UCOS III允许系统运行中删除任务,但是应该尽量避免这种操作,如果这个任务可能占有与其他任务共享的资源,在这个被占有的资源没有被释放就有可能导致奇怪的结果。

5.    OSTaskSuspend ( OS_TCB  *p_tcb, OS_ERR  *p_err )//任务挂起函数

       鉴于删除函数,当一个任务不想被运行又不被删除,我们可以采用挂起函数来这个任务挂起。

6.    OSTaskResume( OS_TCB  *p_tcb, OS_ERR  *p_err )//任务恢复函数

        解除挂起任务时,采用恢复函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值