[应用相关] STM32F429 Cubemx配置Timer实现5ms一个中断

[复制链接]
 楼主| 狗啃模拟 发表于 2021-12-30 23:25 | 显示全部楼层 |阅读模式

在STM32F429实现一个5ms一个interrupt的中断,并且重复触发

我们选用TIM2,可以看到TIM2是在APB1总线上,也可以看到APB1总线的 Clock是90M

3762161cdcf3535290.png


 楼主| 狗啃模拟 发表于 2021-12-30 23:26 | 显示全部楼层
 楼主| 狗啃模拟 发表于 2021-12-30 23:28 | 显示全部楼层
整个Cube的配置为:

2853761cdd004cfc52.png
 楼主| 狗啃模拟 发表于 2021-12-30 23:28 | 显示全部楼层
 楼主| 狗啃模拟 发表于 2021-12-30 23:29 | 显示全部楼层
其中我要来说下几个参数:

预分频器值(Prescaler value):此部分就是把clock source分频到一个你想要的频率,计数器时钟频率CK_CNT 等于fCK_PSC/ (PSC[15:0] + 1)

比如我们APB1是90M,我们此部分设置90-1,得到的最终频率是90M/((90-1)+1) = 1MHz

定时器周期(Period):我们设置预分频后得到1MHz,此部分想得到5ms,就是1M Hz/5000 = 200Hz,也就是5ms产生一次
 楼主| 狗啃模拟 发表于 2021-12-30 23:30 | 显示全部楼层
需要注意的点是:

需要注意的一点是:默认timer中断不会启动,需要主动调用HAL_TIM_Base_Start_IT(&htim2); 函数

效果如下:
7775261cdd07ba729b.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

877

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部