计时器timer

本文介绍了ThreadX应用程序计时器的单次计时器和定期计时器概念,强调了计时器间隔、准确性及执行顺序。此外,提到了如何获取计时器性能信息,并针对计时器控制、性能优化和避免过度使用进行了讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.单次计时器、定期计时器

        借助 ThreadX 应用程序计时器,应用程序能够按特定的时间间隔执行应用程序 C 函数。 应用程序计时器也可能只过期一次。 这种类型的计时器称为单次计时器,而重复间隔计时器称为定期计时器 。

2.计时器间隔

        在threadx中,时间间隔通过定期计时器中断来测量。每个计时器中断称为计时器时钟周期。 计时器时钟周期之间的实际时间由应用程序指定,但 10 毫秒是大多数实现的标准时间。

3.计时器准确性

        计时器过期时间根据时钟周期指定。 达到每个计时器时钟周期时,指定到期值将减一。 由于应用程序计时器可在计时器中断(或计时器时钟周期)之前启用,因此,实际过期时间可能会提前一个时钟周期。

4.计时器执行

        应用程序计时器按照其激活的顺序执行。 例如,如果创建了三个具有相同过期值的计时器并已激活,这些计时器对应的过期函数将保证按它们激活的顺序执行

5.计时器性能信息

        可通过tx_timer_performance_info_get 和 tx_timer_performance_system_info_get获得

        (1) 整个系统的总数

                激活数、停用数、重新激活数(定期计时器)、expirations、过期调整数

        (2) 每个应用程序计时器的总数

                激活数、停用数、重新激活数(定期计时器)、expirations、过期调整数

6.计时器控制块 TX_TIMER

7.计时器过多

        默认情况下,应用程序计时器在优先级为 0 时运行的隐藏系统线程中执行,该线程的优先级通常比任何应用程序线程都高。 因此,在应用程序计时器内进行处理应保持最小值。

        如果可能,还应尽可能避免使用在每个时钟周期过期的计时器。 这种情况可能导致应用程序的开销过大。

8.相对时间

        除了前面所述的应用程序计时器,ThreadX 还提供单个连续递增的 32 位时钟周期计数器。 每次发生计时器中断时,时钟周期计数器或时间就会加一。

        应用程序可以通过分别调用 tx_time_get 和 tx_time_set 来读取或设置此 32 位计数器。 此时钟周期计数器的使用完全由应用程序确定。 ThreadX 不在内部使用此计时器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值