UCOSII源码分析八——空闲任务和统计任务

UCOSII源码分析⼋——空闲任务和统计任务
空闲任务和统计任务
1.空闲任务
乳腺切除术
e. coli系统初始是在函数OSInit (void)中进⾏建⽴空闲函数OS_InitTaskIdle(); 函数内部创建了空闲任务,并将空闲任务的优先级设置为最低:句柄
#define OS_TASK_IDLE_PRIO (OS_LOWEST_PRIO)
这样在没有任务就绪的时候,会执⾏空闲函数,空闲任务OS_TaskIdle (void *p_arg)的内容很简单,只是在⾥⾯做简单的变量加⼀OSIdleCtr++;该变量记录了空闲任务调⽤的次数,同时该变量的增加快慢也体现了cpu的使⽤率,函数内部最后有⼀个空闲任务的回调函数,可以让⽤户⾃添加代码。
这⾥有⼀个需要思考的地⽅,⼀般创建的任务都会有任务调度的函数,⽐如延时中,空闲任务⾥⾯并没有调⽤可以引起函数调度的函数,为什么在空闲任务的死循环⾥⾯可以跳出去执⾏其他任务呢?通过对系统的源码的分析可知,其实所有任务的调度是通过系统时钟Tick中进⾏的,在Tick函数OSTickHandler (void)⾥调⽤OSTimeTick()⽤来就检查任务是否已经延时到时,到时间则进⾏将任务就绪,最后调⽤OSIntExit()退出中断,这个函数⽤来通知系统你现在已经完成了中断服务函数,在该函数中进⾏OSIntN
esting–,系统会在重新调⽤⼀个准备就绪的最⾼优先级的任务,当没有中断嵌套的时候进⾏系统任务调度,所以任务调度根据Tick时间在时刻进⾏检查,有任务时间到就绪的时候就进⾏调度。最后,函数OSIntEnter() and OSIntExit()要成对使⽤!
公称抗拉强度1.统计任务
三次函数
统计任务是通过宏OS_TASK_STAT_EN开启的,设置为1的话,统计任务就会被建⽴,yjp

本文发布于:2024-09-21 08:04:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/284623.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:任务   函数   空闲   系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议