任务的创建、挂起和恢复
来源:互联网 发布:office2016 mac 10.9 编辑:程序博客网 时间:2024/05/29 06:31
ucosii有两个创建任务的函数:OSTaskCreate()和OSTaskCreateExt().其中OSTaskCreateExt()是OSTaskCreate()的扩展。并提供了一些附加功能。
INT8U OSTaskCreate( void (*task)(void *pd),//指向任务的指针 void *pdata,//传递给任务的参数 OS_STK *ptos,//指向任务堆栈栈顶的指针 INT8U prio//任务的优先级 )
一般来说,任务可在调用函数OSStart()启动任务调动之前来创建,也可以在任务中来创建。但ucos有一个规定,在调用启动任务函数OSStart()之前先创建一个任务,并赋予它最高的任务优先级,从而使他成为起始任务,然后在起始任务中再创建其他任务。
如果要使用系统提供的统计任务,则统计任务初始化函数也必须在这个起始任务中来调用。
挂起任务函数OSTaskSuspend(INT8U prio);
函数的参数prio为待挂起任务的优先级别。如果调用函数OSTaskSuspend()的任务要挂起自身,则参数必须为常数OS_PRIO_SELF(该常数在文件uCOS_II.H中被定义为0xFF)。
当调用成功时,返回信息OS_NO_ERR;否则根据出错的具体情况返回OS_TASK_SUSPEND_IDLE、OSPRIO_INVALID和OS_TASK_SUSPEND_PRIO等。
任务可以通过调用函数OSTaskChangePrio()来改变任务的优先级。
函数OSTaskChangePrio()的原型如下:
INT8U OSTaskChangePrio(
INT8U oldprio;
INT8U newprio;
);
若调用函数OSTaskChangePrio()成功,则函数返回OS_NO_ERR。
任务的删除:
OSTaskDel()的原型如下:
#if OS_TASK_DEL_ENINT8U OSTaskDel( INT8U prio//要删除任务的优先级);
如果一个任务调用函数是为了删除自己,则应在调用函数时另函数的参数prio为OS_PRIO_SELF。
请求删除任务函数:
OSTaskDelReq()
{
INT8U prio;//待删除任务的优先级别
}
函数的参数应该为被删除任务的优先级别prio,被删除任务调用这个函数时,函数参数应该为OS_PRIO_SELF。
- 任务的创建、挂起和恢复
- 任务挂起和恢复
- FreeRTOS 任务挂起和恢复
- freeRTOS 任务挂起和恢复
- 第三篇:uCOS-II 任务的创建,挂起,恢复,删除
- uC /OS-II中任务的挂起和恢复
- UC/OS基础知识之任务的挂起和恢复
- FreeRTOS之任务挂起和恢复函数
- ucos 任务的挂起与恢复
- 线程的挂起和恢复
- μC/OS调度器及任务创建、挂起、恢复、删除、初始化函数的使用
- stm32的μC/OS-II(μcosii)系统任务挂起、恢复、创建、删除
- UCOSII任务挂起,删除,恢复
- uc/os-ii任务的挂起与恢复
- (java)关于Thread的挂起和恢复
- Linux下线程的挂起和恢复
- Linux 进程的挂起和恢复
- CPrcThread<Worker>线程的挂起和恢复
- 操作系统 带有缓冲机制的生产者消费者问题
- win10与centos 7双系统安装,win10引导消失,解决方案
- IntelliJ IDEA+Maven运行apache-storm的LocalCluster例子
- 12 H5上实现dht12单总线工作方式的驱动
- 学生管理系统前奏1
- 任务的创建、挂起和恢复
- 从零开始动手写个公司内部用的iOS App
- Mongoose初体验
- spring Boot 设置tomcat端口号
- 友盟推送集成小米华为通道
- 这篇文章主要介绍了Python os模块介绍,需要的朋友可以参考下
- 基于Spring boot,使用idea方便地切换启动环境
- java字符串与数字的分割
- 知识付费水涨船高,某公众号挂羊头卖狗肉赚千万