|
一、stm32的pwm输出引脚是使用的IO口的复用功能。 二、T2~T5这4个通用定时器均可输出4路PWM——CH1~CH4。 三、我们以tim3的CH1路pwm输出为例来进行图文讲解(其它类似),并在最后给出tim3的ch1和ch2两路pwm输出的c代码(已在STM32F103RBT6上测试成功,大家放心使用!)。 四、给出了PWM频率和占空比的计算公式。 步骤如下: 1、使能TIM3时钟
RCC->APB1ENR |= 1 << 1; 2、配置对应引脚(PA6)的复用输出功能
GPIOA->CRL &= 0XF0FFFFFF;//PA6清0 3、设定计数器自动重装值及是否分频 TIM3->ARR = arr;//设定计数器自动重装值(决定PWM的频率) 4、设置PWM的模式(有1和2两种模式,区别在于输出电平极性相反),根据需求选一种即可
注:TIMX_CCMR1决定CH1~CH2路,TIMX_CCMR2决定CH3~CH4路。
//TIM3->CCMR1 |= 6 << 4;//CH1 PWM1模式 TIM3->CCMR1 |= 7 << 4;//CH1 PWM2模式 5、输出使能设置
TIM3->CCER |= 1 << 0;//输入/捕获1输出使能 6、自动重装载预装载允许位(ARPE) 及 定时器 使能
TIM3->CR1 = 0X0080;//ARPE使能(此句不配置也行)
下面给出TIM3_CH1及TIM3_CH2的PWM输出代码:
频率: //Fpwm = 72M / ((arr+1)*(psc+1))(单位:Hz) //duty circle = TIM3->CCR1 / arr(单位:%) 注:本文方法的一个定时器4个通道的pwm输出的频率是相同的,但占空比可以不同! |
| 支持基础理论讲解!!!!!!!! |
|
谢谢! |
| 谢谢分享! |
| 不错的帖子,谢谢楼主的分享 |
|
谢谢分享 |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版