|
||
|
||
|
||
stm32定时器的时钟模式2的构成:时钟源+计数器+重载值 1、stm32的stm32定时器的时钟模式2
基本stm32定时器的时钟模式2定时功能。2、基本stm32定时器的时钟模式2定时功能介绍 基本stm32定时器的时钟模式2 TIM6 和 TIM7 包含一个 16 位自动重载计数器,该计数器由可编程预分频器驱动
● 16 位可编程预分频器用于对计数器时钟频率进行分频(即运行时修改),分频系数介于 1 和 65536 之间
● 发生如下更新事件时会生成中断/DMA 请求:计数器上溢(计数器上溢会产生更新事件更新事件能够产生中断/DMA请求)。
4、基本stm32定时器的时钟模式2框架 工作原理在框图上有体现:
什么时候用自动重载值寄存器帶缓冲功能 什么时候用自动重载值寄存器不带缓冲功能?
不带缓冲功能:stm32定时器的时钟模式2只需要固定一个时间的定时这个项目中不需要改变这个stm32定时器的时钟模式2的定时。
例如:这个stm32定时器的时钟模式21s中点亮LED灯1s中熄灭LED灯
UG位:可以让计数器清0,自动重载值写入到影子寄存器清除分频器的值,不会改变分频比
计算预分频去与自动重载值如何设定?TIM6/7stm32定时器的时钟模式25s钟
5、基本stm32定时器的时钟模式2的相關寄存器
这个寄存器与基本stm32定时器的时钟模式2功能无关,只有需要使用到TRGO才去关心该位
开启时钟、清空计数器的值、设置预分频、设置偅载值、设置无缓冲功能、采用循环模式、控制寄存器1、开启中断使能(模块级中断使能、核心级中断使能)、开启计数器使能。
使用STM32CubeMX的一个好处就是图形化配置在时钟配置方面,主要了解清楚高级外设总线(APB1、APB2)控制哪些外设
(0)先配置好PA6、PA7(控制LED灯),好观察实验现象
(1)首先配置RCC(复位囷时钟控制)选择外部高速始终,如下图
(2)为了测试不同APB的时钟频率效果在此选择了TIM1和TIM2,按下图配置
(3)为什么选择以上两个stm32定时器的时钟模式2作为例子参考STM32F4XX中文参考手册,找到RCC相关内容如图
可知TIM1
在APB2
,TIM2
在APB1
(4)进入时钟配置我的STM32F407开发板外部晶振是8MHz的,在Input freequency
输入8在HCLK
那里会提示最大频率168MHz,输入168然后自动寻求配置,注意第一次配置出来的还是内部时钟HSI
的要选择为HSE
,配置好后如下图
顺便提一下STM32F103的开發板也差不多的,只不过F1的最高时钟频率是72MHz
(6)设置NVIC,TIM1是高级stm32定时器的时钟模式2选择更新中断,TIM2是通用stm32定时器的时钟模式2
除了stm32定时器嘚时钟模式2我自己还设置了两个串口中断,可以不用理会
(7)设置stm32定时器的时钟模式2
上面两个stm32定时器的时钟模式2设置实现的都是定时1s进叺中断处理
(8)生成SW4STM32工程,打开在main函数里面while前启动stm32定时器的时钟模式2,如下代码
最后烧写到开发板实现预定效果对stm32定时器的时钟模式2中断的详细视频介绍可以参考博主制作的相关视频,一个是在proteus仿真实现的另一个是结合freertos实现的:/video/av, /video/av