1814_ChibiOS中的时间以及时间间隔处理

         全部学习汇总: GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com)

1814_ChibiOS中的时间以及时间间隔处理_第1张图片

1. 时间的相关配置,有tick的计数精度、时钟频率、间隔时间精度、时间类型大小等不同的配置。这些参数,涉及到系统的时间计数器位宽、系统的速度以及各种单位的表达能力范围等。

2. 时间转换单位是一个扩展了精度的时间类型,主要目的是为了保证时间转换的安全性。

1814_ChibiOS中的时间以及时间间隔处理_第2张图片

1. 系统时间的单位是tick。

2. 时间间隔的单位不一定是tick,不能够与上面的时间混用。

3. 时间阶段,结合了一对儿时间参数,分别用来记录时间的起始。

4. 系统时间的技术的实现有两种实现方式,一种是利用周期性中断时间的经典的模式;另一种是借助于一个硬件计数器来实现的无tick模式。

看了这里记录的第4条,我才知道无tick模式是一个什么概念。之前也看到过FreeRTOS中有这样的功能,但是一直没有弄明白这究竟是一个什么功能。

1814_ChibiOS中的时间以及时间间隔处理_第3张图片

1. 这里介绍了什么是无tick模式;

2. 获取时间的参数也给了各种不同的属性,其实进行了X扩展的可以在各种条件下使用。

1814_ChibiOS中的时间以及时间间隔处理_第4张图片

         上面的这个接口可以用来测量一个任务的执行时间,利用这样的功能不仅可以测试各个任务的执行时间,其实也很容易测出来整个系统的负荷率。

1814_ChibiOS中的时间以及时间间隔处理_第5张图片

       在时间转换方面,如果算出来的数值不是整数是有一个向上取整的考虑的。比如说,系统的最小的识别精度是1ms,而算出来的时间是0.1ms,这样可能会取1ms。

1814_ChibiOS中的时间以及时间间隔处理_第6张图片

         这里给出来了两个时间处理的例子,第一个例子其实是一个短暂延时区间内的循环处理;第二个例子是一个带超时的报文接收处理。两种表达在处理上都是一个非常自然的表达。

         看到这些处理接口,感觉ChibiOS的时间处理接口对于应用的设计还是非常友好的。这更加让人想去体验一下这个OS的效果了。

你可能感兴趣的:(ChibiOS,ChibiOS,RTOS)