一、前言
在stm32开发中,定时器是非常重要的,由于之前大学的时候学得不多,在工作中因为它到时效率低下,现在来总结一下其的学习和使用。(由于本人基础较为薄弱,不喜欢勿喷。)
二、定时器的基础知识
中断定时时间=(分频值+1)*(计数值+1)/主频
三、定时器的功能
1、延时功能
直接通过中断顶上控制。
2、pwm输出通道
通过写入占空比控制输出的pwm波。
3、输入捕获通道
通过写入计数值控制定时时间,计数值一到即捕获。
四、实例
本次使用的是stm32cubeide和stm32cubemx进行学习,使用LL库写代码。本次使用的是野火指南者stm32f103vet6。
1、使用stm32cubemx初始化定时器
(1)设置时钟等
使用的是72MHZ主频。
(2)设置定时器
中断定时时间=(分频值+1)*(计数值+1)/主频
定时器中断函数在stm32f1xx_it.c中,根据需要写代码。
五、注意事项
使用定时器中断注意在定时器中断的时候清除相关标志位,比如更新中断标志或者捕获中断标志,我就是卡在中断那里没有情空,一直卡死在那里了。