前言
1 深入了解STM32定时器的工作原理,掌握脉宽调制(PWM)的生成方法。
2 掌握使用STM32F103的Tim2~Tim5中的一个定时器的某一个通道与LED相连,并利用定时器计数方式控制LED周期性地亮-灭。
3 学习如何在STM32F103上使用定时器的PWM模式,以呼吸灯的方式使LED渐亮渐灭,并通过Keil虚拟示波器观察PWM输出波形。
4 利用另一个定时器通道编程采集上述PWM输出信号,并获取其周期和脉宽,并将数据通过串口输出显示。
5 学习HC-SR04超声波测距模块的工作原理,并使用STM32F103完成一个超声波测距方案。
一、TIM定时器
1.简介
(1)TIM(Timer)定时器
(2)定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断
定时器就是一个计数器,当这个计数器的输入是一个准确可靠的基准时钟的时候,那在对这个基准时钟进行计数的过程,实际上就是计时的过程。
比如在STM32中,定时器的基准时钟一般都是主频72MHz,比如我对72MHz计72个数,所记时间就是72*1/72000000=1us;如果计72000个数,那就是72000*1/72000000=1ms。
(3)16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时
计数器就是用来执行技术定时的一个寄存器,每来一个时钟,计数器加1。
预分频器可以对计数器的时钟进行分频,让计数更加灵活。
自动重装寄存器就是计数的目标值,就是想要计多少个时钟申请中断。
计数器、预分频器、自动重装寄存器构成了定时器最核心的部分,我们把这一块电路称为时基单元,均为16位寄存器,2^16=65536,如果预分频器设置最大,自动重装也设置最大,那定时器的最大的定时时间就1/720000006553565535=59.65s,接近一分钟。
如果想这里的最大定时时间仍满足不了需求,STM32的定时器还支持级联的模式,也就是一个定时器的输出,当作另一个定时器的输入,这样,最大定时时间就是1/72000000*65536*65536*65536*65536 这个时间大概是8000多年,如果还嫌短,那就再级联一个定时器,最大定时时间还会延长65536*65536倍,这个时间大概是34万亿年。
(4)不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能
(5)根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型
|
———————————————— 版权声明:本文为CSDN博主「YRr YRr」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/m0_73640344/article/details/134004426 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/weixin_68811361/article/details/134273036