ucos时钟节拍有什么用

ucos时钟节拍有什么用,第1张

ucos里,时钟节拍就好比是人的心脏一样重要。它对于CPU能顺利在各任务间切换有着至关重要的作用。

使用时钟源有一个特别需要注意的地方:用户必须在多任务系统扰粗启动以后再开启时钟节拍器,也就是在调用OSStart()之后。

ucos中的时钟节拍服务是通过在定时器中断服务子程序中调用OSTimeTick()实现的。

ucos要求提供定时中断,雹李薯以实现延时与超时控制等功能。这个定时中断就是时钟节拍,它应该发生10-100次每秒。

时钟节拍的频率源者越高,系统负荷越重。

定纳手时器仍在计数,并会产生中断,

是否中袭唤断要看在你现在的中断优先级以及是否关闭了中断响应.

如果优先级比Systick中断高或关闭了中断响应,那么你的拍茄凯中断处理程序一定要耗时少,否则会影响Systick中断的执行时机,或产生两次中断了才执行一次.

时钟节拍类似于人体心脏的跳动,人体依赖心脏的跳动将血液输入身体各个部位,支撑生命活动。时钟节拍的是 *** 作系统的时基, *** 作系统依赖于时钟节拍推宴者动 CPU 去执行指令。

时钟节拍是系统以固定的频率产生中断(时基中断),并在中断处理与时间升告相关的事件,推动所有任务向前运行。时钟吵祥明节拍需要依赖于硬件定时器,STM32 通常使用 systick 时钟作为 MCU 的内核定时器。

根据系统时钟的初始化,在系统计数达到后,产生时钟中断,并调用中断处理函数 OS_CPU_SysTickHandler 。

在 OS_CPU_SysTickHandler 函数中调用了 UCOS 的时间片处理函数 OSTimeTick ,对系统的时间片进行处理。

在 OSTimeTick 函数中给时基任务、定时器任务都发送了信号量。这里先介绍时基任务。时基任务是在 OS 初始化函数 void OSInit (OS_ERR *p_err) 中创建。

本章阐述了时钟节拍的工作原理,看似微小却是整个 uC/OS 系统的命脉。时钟节拍的运行依赖于 CPU 的定时器, STM32 专门为此量身定制了 SysTick 时钟。每个时钟节拍到来时,时基任务就会执行,节拍任务的重点是更新节拍任务列表。在节拍列表中,存放的均是与时间事件(如延时或超时)相关的任务。如果任务到期,则需要更新响应的任务状态。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12477357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存