1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
因为毕业设计要用到PWM调光很久都没用到Stm32的定时器,有些内容已经遗忘,为了回顾复习相关内容今天开下通用定时器这一章节的数据手册。
1、时钟 通用定时器一般是TIM2~TIM5,TIM1、TIM8是高级定时器,TIM6、TIM7是基本定时器。 既然名字都叫定时器,时钟一定是最重要的,所以在看其相关工作模式和特性之前,先看下他的时钟。 通用定时器和基本定时器都是挂载在APB1时钟总线,这条时钟总线最大时钟频率36MHz。PCLK1经过倍频后供给通用定时器时钟,这里要注意的是,分频系数为1时TIMx_CLK=PCLK1,其他的分频系数无论多少只要不是1,TIMx_CLK=2*PCLK1。(关于这里为什么叫分频系数确是倍频作用,我猜测是因为翻译原因)。 这里注意的是,在MDK开发环境下,只要外部的晶振接的是8M,默认的系统时钟SYSCLK=72MHz,默认的PCLK1=36MHz,PCLK2=72Mhz。 所以,在配置定时器工作模式和管脚复用前,记得需先配置好时钟。(第一步) 2、定时器 接下来开始读数据手册: 定时器作为一种集成在芯片内部的外设,要把它当做一个独立的器件看待,因为是集成在内部所以供电管脚不用我们考虑,此外他具有4个独立的功能通道,可以复用到4个对应的GPIO引脚。独立的意思就是可以单独使用其中的一个。 每个通道都有四种功能,分别是: 输入捕获:就是测量输入信号的脉冲长度。 输出比较: PWM生成:有边缘和中间对齐模式。PWM的应用很广,在LED调光和PWM调速都有广泛应用,原理是通过控制占空比调节平均输出,需要结合高频率的开关器件使用。 单脉冲模式输出: 因为毕业设计要用到PWM调光很久都没用到Stm32的定时器,有些内容已经遗忘,为了回顾复习相关内容今天开下通用定时器这一章节的数据手册。 1、时钟 通用定时器一般是TIM2~TIM5,TIM1、TIM8是高级定时器,TIM6、TIM7是基本定时器。 既然名字都叫定时器,时钟一定是最重要的,所以在看其相关工作模式和特性之前,先看下他的时钟。 通用定时器和基本定时器都是挂载在APB1时钟总线,这条时钟总线最大时钟频率36MHz。PCLK1经过倍频后供给通用定时器时钟,这里要注意的是,分频系数为1时TIMx_CLK=PCLK1,其他的分频系数无论多少只要不是1,TIMx_CLK=2*PCLK1。(关于这里为什么叫分频系数确是倍频作用,我猜测是因为翻译原因)。 这里注意的是,在MDK开发环境下,只要外部的晶振接的是8M,默认的系统时钟SYSCLK=72MHz,默认的PCLK1=36MHz,PCLK2=72Mhz。 所以,在配置定时器工作模式和管脚复用前,记得需先配置好时钟。(第一步) 2、定时器 接下来开始读数据手册: 定时器作为一种集成在芯片内部的外设,要把它当做一个独立的器件看待,因为是集成在内部所以供电管脚不用我们考虑,此外他具有4个独立的功能通道,可以复用到4个对应的GPIO引脚。独立的意思就是可以单独使用其中的一个。此外还有一个用于外部提供时钟源的时钟输入引脚ETR,一般不会用到。 每个通道都有四种功能,分别是: 输入捕获:就是测量输入信号的脉冲长度。 输出比较: PWM生成:有边缘和中间对齐模式。PWM的应用很广,在LED调光和PWM调速都有广泛应用,原理是通过控制占空比调节平均输出,需要结合高频率的开关器件使用。 单脉冲模式输出: 时基单元由计数寄存器,预分频寄存器,自动装载寄存器组成,其中自动装载寄存器有个不可操作的对应的寄存器影子寄存器,我们不能对其读写,只能由cpu自动操作。这个自动装载寄存器就是用来保存每次更新的装载的值的,在我们想写入新的装载值时,CPU会自动写到预装载寄存器。 计数器是由预分频器的时钟CK_CNT驱动的,需要使能才有效,使能之后的一个时钟周期生效。(也就是说我们在设置预装载值时数值需要减1) 预分频器的作用就是在TIM_CLK的基础上再分频,这个寄存器也是有缓冲器的,在发生更新事件后把值写到预分频寄存器。 对于定时器这个外设,有一个叫做更新事件UEV的东东,在每次产生这个东西时,定时器所有的具有缓存功能的寄存器开始更新数值,把预装载的数写进去。这个更新事件可以由硬件产生(计数溢出计数值达到最大值),也可由软件产生,我们用指令控制EGR寄存器的UG位置高也可产生。灵活的在代码中应用这个功能,将会给编程带来极大的便利。 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 分界线 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 一下子读了那么大一段还是很吃力,现在脑子很热,眼皮特别沉。还是看关键部分。 3、PWM模式 相关寄存器:TIMx_CCMRx----------------OCxM PWM模式设置 |---------------OCxPE 使能预装载寄存器 TIMx_CR1-----------------APRE 使能自动重装载的预装载寄存器。 TIMx_EGR--------------UG 在计数前设置UG位来初始化所有的寄存器 TIMx_CCER--------------CCxP 可以设置OCx的极性(高/低电平有效) |-------------CCxE 控制OCx输出使能 计数器有三种计数模式分为向上/向下计数和向上向下交替计数,而PWM模式根据计数方式的不同分为两大类中央对齐模式(向上向下交替计数)以及边沿对齐模式,这两种模式是由其计数方式区分的。 而依据PWM波的产生原理,即CNT在0到ARR之间不断增加或减少期间一直与CCR进行比较,根据比较的结果输出高地电平。而比较结果对于输出的高地的影响有两种,一是CNT《=CCR时输出高电平,反之输出低电平,对应的是PWM1模式,二是CNT》=CCR时输出高电平,反之输出低电平,对应的是PWM2模式。 上面一句话解释得很清楚,PWM模式下不同PWM模式以及对齐模式的由来,对齐模式有关的寄存器是TIMx_CCR1寄存器 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1767 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1069 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
726浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
567浏览 3评论
592浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 18:44 , Processed in 0.849963 second(s), Total 75, Slave 59 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号