本文主要是介绍pwm占空比的c语言编程详解,详解STM32的PWM输出及频率和脉宽(占空比)的计算——寄存器配置六步曲!...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、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
2、配置对应引脚(PA6)的复用输出功能
GPIOA->CRL &= 0XF0FFFFFF;//PA6清0
GPIOA->CRL |= 0X0B000000;//复用功能输出(推挽50MHz输出)
GPIOA->ODR |= 1
3、设定计数器自动重装值及是否分频
TIM3->ARR = arr;//设定计数器自动重装值(决定PWM的频率)
TIM3->PSC = psc;//预分频器,0为不分频
4、设置PWM的模式(有1和2两种模式
这篇关于pwm占空比的c语言编程详解,详解STM32的PWM输出及频率和脉宽(占空比)的计算——寄存器配置六步曲!...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!