STM32进阶 定时器4 高级定时器 + 高级定时器实验输出有限个周期的PWM波
两个 TIM1 和TIM8
功能除了拥有通用定时器的所有功能外+
(1)死区时间可编程的互补输出。
(2)断路输入信号(刹车输入信号)。
(3)重复计数器。
框图相比通用定时器
时基单元多了一个重复计数器
REP寄存器
计数器每溢出1次,会产生一个信号,让重复计数器的值-1,直到重复计数器的值减到0,计数器再溢出,才会产生更新事件。
增加了计数范围。就像之前系统定时器定时1s不够,然后用全局变量来拓展,这个就像当时的全局变量
输出通道多了一个功能CHxN
高级定时器的通道1/2/3可以分别输出2路互补信号
互补信号:频率周期相等,相位相差180°。
死区时间:让两个通道不要同时是高电平,加了一个延迟,这延迟就是死区时间,可以配置。
输入通道多了一个刹车输入信号
断路输入信号
提供一个高低电平然后直接触发这个引脚,然后硬件会直接执行。更加快捷。
案例:高级定时器实验输出有限个周期的PWM波
需求描述
用寄存器实现。输出5个周期的PWM波,频率2Hz,观察发光二极管闪烁5次,或者用示波器观察波形。
需求实现思路:
使用高级定时器的重复计数器,当计数器溢出时,在溢出中断中停止定时器工作。重复计数器寄存器的值设置为4,即可输出5个周期的PWM波,发光二极管会闪烁5次。
采用STM1,因为再原型图中,它连接时PA8,并且它连接LED3。
编写代码如果右击没有新建txt文件,那么可以通过在当前目录cmd->写入COPY nul haha.txt 指令。