关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > μC/OS―II实时操作系统中任务延时的研究与改进

μC/OS―II实时操作系统中任务延时的研究与改进

作者:时间:2011-06-21来源:网络收藏

c.JPG
2.2 从链表中删除控制块
完成、任务恢复、任务恢复、任务删除时,需要把任务从任务延时链表中删除。使用函数TCBDlyDel(),此函数无返回,形参有两个:第一个为任务控制块指针,第二个为操作类型opt,函数原型为void TCBDlyDel(_TCB*ptcb,INT8U opt)。opt的取值为:OS_Dly_OPT_NONE(正常执行,从任务延时链表删除,加入任务链表),OS_Dly_OPT_DEL(把任务从任务延时链表删除,OSTaskDel()函数使用)。函数OSTCBDlyDel的流程如图1所示。

本文引用地址:http://www.eepw.com.cn/article/161941.htm

d.JPG


在函数OSTimeDlyResume()、OS_EventTaskRdy()、OS_FlagTaskRdy()以及OSTaskResume()中,在其代码ptcb->OSTCBDly=0后面(下一行)加入0STCBDlyDel(ptcb,OS_Dly_OPT_NONE)。然后在时钟节拍处理函数OSTime Tick()中作适当修改,修改后的伪代码如下:
e.JPG

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭