文章目录
一、前言
PWM信号的用途很广,特别在电机控制上。PWM信号能够控制舵机的绝对位置,直流有刷电机的转速,步进电机的转动等。
PWM信号的样子:
使用STM32F407产生PWM信号很方便,而且可以在不进入中断的前提下生成PWM信号。
具体的PWM细节参看《硬石YS-F4Pro开发板开发手册》的21.6章节- PWM模式,本次生成的PWM信号是高电平有效,当然啦,也可以是低电平有效,只是改一下设置。
二、STM32CubeMX
2.1、mode
使能了TIM1作为PWM信号的定时器,Clock Source选择内部时钟,Channel1选择PWM Gerneration CH1.
2.2、GPIO
使能了TIM1的PWM模式的通道1后,STM32CubeMX同步使能了PE9。
2.3、参数配置
Counter Period - 其实就是TIMx_ARR寄存器的值,它规定了PWM的频率。
Pulse - 其实就是TIMx_CCRx寄存器的值,它规定了PWM的占空比
CH Polarity - PWM信号的有效电平,这个例子需要产生有效的高电平,所以CH Polarity设HIGH
三、STM32CubeIDE
生成代码。
3.1、main.c
要让STM32产生PWM信号,还需要一条代码。
四、示波器
4.1、例子1
4.2、例子2
修改了一下CCR寄存器,PWM的占空比从10%变为50%了。