RT-Thread编程指南 要点摘录(三)

——种一棵树最好的时间?——

4时钟管理

4.1时钟节拍

时钟节拍是特定的周期性中断。
系统时间是从系统启动开始计数的时钟节拍数。
时钟节拍由触发为中断触发模式的硬件定时器产生(在cortex-M中为systick)。

4.2定时器管理

分类

  1. 硬件定时器——芯片提供
  2. 软件定时器——操作系统提供

按机制:

  1. 单次触发定时器——只触发一次定时器事件
  2. 周期触发定时器——周期性触发直到用户手动停止

根据超时函数执行时所处的上下文环境:

  1. HARD_TIMER模式——在中断上下文环境中执行(默认方式)
  2. SOFT_TIMER模式——在 timer 线程的上下文环境中执行

定时器工作机制
系统新创建并激活的定时器都会按照以超时时间排序的方式插入到定时器链表中。
如果有定时器超时,将调用相应的超时函数。且所有定时器在定时超时后都会从定时器链表中被移除,而周期性定时器会在它再次启动时被加入定时器链表。

定时器跳表算法:RT-Thread 中使用了跳表算法来加快搜索链表元素的速度。

4.4高精度延时

只能通过读取系统某个硬件定时器的计数器或直接使用硬件定时器的方式。

发布了5 篇原创文章 · 获赞 0 · 访问量 46

猜你喜欢

转载自blog.csdn.net/weixin_45263626/article/details/104594372