STM32——定时器TIME模块之PWM输出
2017-08-18 15:30
417 查看
对于STM32来说,PWM波简单来说就是占空比可调频率固定的方形波,当然这里的频率是在配置好之后固定,并不是说频率不可调。下图就展示了一个频率为800,占空比为2:3的PWM波(图1)。
在实际的项目中,会应用到PWM波的一般是电机方面或者LED灯控制方面,当涉及到LED控制的时候经常会遇到引脚不够用的现象,不过STM32有个引脚重映射功能,可以讲原先默认的外设引脚重映射到别的地方,但是同时又有一个小缺点,就是在映射的时候会有局限,许多情况下不能单个引脚映射,这就会导致在项目应用中很容易导致引脚分布需要重庆做大的调整的事情发生。针对STM32定时器的引脚重映射的相关情况可参考《stm32中文参考手册》8.3.7。这里
给大家定时器2的图(图2)。
STM32F1系列芯片中,TIM1最多能提供多达7路PWM波,通道4没有反向输出对应的引脚。同时要注意的是,通道1、2、3的反向输出和正向输出脚共用一个比较捕获寄存器,所以在设置占空比的时候是相互关联的,不能像普通的PWM脚都输出想要的占空比的PWM波。
功能实现:
1、配置引脚,假设现在要用tim2输出3路PWM,这引脚配置如图(图3);
2、模式配置,需要用到两个配置结构体TIM_TimeBaseInitTypeDef和TIM_OCInitTypeDef,结构体TIM_TimeBaseInitTypeDef是用来配置定时器的基本设置的,比较主要的有三个变量,预分频值(72M时钟要进行多少分频来作为该定时器的时钟),自动重装载值(计数器到达多大值之后重头开始计数),计数方向(向上或者向下)。结构体TIM_OCInitTypeDef中可以选择两种模式,这两种模式和参数TIM_OCPolarity的值相互结合,能输出自己想要的效果,在应用的时候需要各自测试一下。然后调用TIM_OC2Init函数实现输出配置(图4)。
3、然后调用TIM_OC2PreloadConfig函数实现某个通道上的捕获比较寄存器使能,每个通道需要独立配置(图5);
4、调用TIM_SetCompare2函数设置占空比(图6),
5、使能定时器2。
6、在主函数中主要调用的也是设置占空比的函数来实现电机或者灯光的控制。
在实际的项目中,会应用到PWM波的一般是电机方面或者LED灯控制方面,当涉及到LED控制的时候经常会遇到引脚不够用的现象,不过STM32有个引脚重映射功能,可以讲原先默认的外设引脚重映射到别的地方,但是同时又有一个小缺点,就是在映射的时候会有局限,许多情况下不能单个引脚映射,这就会导致在项目应用中很容易导致引脚分布需要重庆做大的调整的事情发生。针对STM32定时器的引脚重映射的相关情况可参考《stm32中文参考手册》8.3.7。这里
给大家定时器2的图(图2)。
STM32F1系列芯片中,TIM1最多能提供多达7路PWM波,通道4没有反向输出对应的引脚。同时要注意的是,通道1、2、3的反向输出和正向输出脚共用一个比较捕获寄存器,所以在设置占空比的时候是相互关联的,不能像普通的PWM脚都输出想要的占空比的PWM波。
功能实现:
1、配置引脚,假设现在要用tim2输出3路PWM,这引脚配置如图(图3);
2、模式配置,需要用到两个配置结构体TIM_TimeBaseInitTypeDef和TIM_OCInitTypeDef,结构体TIM_TimeBaseInitTypeDef是用来配置定时器的基本设置的,比较主要的有三个变量,预分频值(72M时钟要进行多少分频来作为该定时器的时钟),自动重装载值(计数器到达多大值之后重头开始计数),计数方向(向上或者向下)。结构体TIM_OCInitTypeDef中可以选择两种模式,这两种模式和参数TIM_OCPolarity的值相互结合,能输出自己想要的效果,在应用的时候需要各自测试一下。然后调用TIM_OC2Init函数实现输出配置(图4)。
3、然后调用TIM_OC2PreloadConfig函数实现某个通道上的捕获比较寄存器使能,每个通道需要独立配置(图5);
4、调用TIM_SetCompare2函数设置占空比(图6),
5、使能定时器2。
6、在主函数中主要调用的也是设置占空比的函数来实现电机或者灯光的控制。
相关文章推荐
- STM32定时器输出带有死区时间的PWM波形
- 如何利用STM32通用定时器实现输出两路占空比和频率可调的互补PWM
- (转)STM32学习笔记(5):通用定时器PWM输出
- 郑州-杰瑞鼠 / STM32定时器的PWM输出配置(标准库)
- STM32定时器输出不同频率不同占空比的PWM
- STM32: 利用高级定时器产生6路互补PWM波形输出在BLDC中H-PWM-L-ON驱动方式下驱动无刷电机
- STM32自学系列——2.定时器TIM和PWM的输出
- STM32定时器输出比较(PWM)
- R4 STM32高级定时器笔记之PWM互补输出
- stm32通用定时器的PWM输出
- cortex_m3_stm32嵌入式学习笔记(九):PWM 输出实验(定时器的PWM输出)
- STM32——定时器TIME模块之输入捕获
- 寒假学习之stm32(8)-----定时器输出PWM
- stm32 TIM定时器 PWM脉冲输出[操作寄存器+库函数]
- STM32 配置定时器让引脚输出PWM波形
- STM32学习笔记:通用定时器输出PWM
- 基于STM32-基本定时器3的PWM输出 例程(带中文注释 ) ------------(转)
- 怎么用STM32配置产生PWM(一个定时器用输出比较方式产生不同频率的PWM)
- STM32高级定时器TIM1、TIM15输出PWM
- 关于STM32 定时器PWM输出,关闭PWM时,输出引脚电平控制。