RTT之硬件定时器使用

 看了一下之前做的rtt笔记,还真没有做这部分的内容,看来当初没看这部分。

问题

在rt编程手册中的时钟管理与HWTIME设备

两者都实现定时器有什么不同???如何合理使用两者呢???

不同点

时钟管理的HARDTIME模式是通过使用定时器的时钟,一般的就是硬件systick,控制rt_tick,实现计时。rt_tick是系统的时间节拍。超时回调函数在中断处理程序中进行调用。而使用软件定时器,回调函数则会在timer线程中。软件定时器模式,受限于系统节拍。
由于系统节拍是OS运行的基础,所以就要兼顾高低速的设备及应用,这个值一般是MS级别。ns级别太快,会导到系统不停的切换任务,造成效率不高。
此部的应用场景,就是跟随rt-tick级别的定时需求。若是要更快级别的定时器,还要使用真正的硬件定时器。

hwtim是把硬件定时器当成是设备来处理的。也是实现定时。但可以实现更快或更慢的定时。也不再受rt-tick的局限。同时,还是随时读取定时器当前值。

使用步骤:

  1. 使用CubxMX配置一下定时器,生成相应的代码,使之启用HAL库的time组件。
  2. board文件夹下,修改kconfig文件,添加TIM开启选项代码如下所示:
    menuconfig BSP_USING_TIM
        bool "Enable timer"
        default n
        select RT_USING_HWTIMER
        if BSP_USING_TIM
            config BSP_USING_TIM1
                bool "Enable TIM1"
                default n

            config BSP_USING_TIM2
                bool
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guangod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值