STMCU小助手
发布时间:2022-10-31 10:20
|
前言 在CubeMx中配置PWM,预分频系数和计数的值决定了波形的周期,pulse决定了占空比。 PWM边沿对齐模式(向上计数) 在PWM模式1下,TIMx_CNT<TIMx_CCRx时,PWM参考信号OCxREF为高,否则为低。
PWM边沿对齐模式(向下计数) TIMx_CR1中的DIR为1时,执行向下计数。在PWM模式1时,TIMx_CNT>TIMx_CCRx时OCxREF为低,否则为高。 PWM模式1与PWM模式2区别 PWM模式1 在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为有效电平,否则为无效电平 在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为无效电平(OC1REF=0),否则为有效 电平(OC1REF=1)。 PWM模式2 在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为无效电平,否则为有效电平 在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为有效电平,否则为无效电平。 有效电平和无效电平由CCER这个寄存器的CCxP来决定 CC1P:输入/捕获1输出极性(Capture/Compare 1 output polarity) 配置为输出:0:OCx高电平有效 1:OCx低电平有效 实验步骤 生成一个10ms周期的PWM波形,占空比从10~100.。 CubeMx生成芯片工程,配置SWD调试接口,HSE使用"Crystal/Ceramic Resonator" PA0引脚配置为GPIO_EXTI0(配置EXTI中断)
PB1引脚配置为TIM3_CH4,在TIM3视图中Clock Source 选择"Internal Clock",Channel4选择"PWM Generation CH4" 预分频系数填6400-1,计数值填100-1。(计算方法)
在工程项目栏中填入项目名称、路径、版本 在代码生成中选择自己需要的选项,最后生成代码
在int main函数里面添加pwm初始化代码
在int main() { }后面添加EXTI上升沿中断回调函数
在int main() { }前面添加自定义改变PWM参数的函数
在debug选项卡中勾上"Reset and Run",编译。烧录 当你不停按下按钮时,就会看到LED等从暗到亮,从亮到暗变化。
———————————————— 版权声明:SCCELE |
经验分享 | STM32G0 I2C bootloader Go 命令后调试连接失败:DBG_SWEN 位复位修复
经验分享 | STM32G0B1 待机模式意外唤醒深度解析:RTC 结构体未初始化的隐形坑
经验分享 | STM32G0B1 待机模式意外唤醒深度解析:RTC 结构体未初始化的隐形坑
如何在STM32和Arduino上实现卷积神经网络
STM32与51单片机差异一文速览
STM32芯片命名规则
STM32 引脚到底有多少?为什么一个引脚能当好几个用?
【STM32入门学习路径指南】(四步走)
基于STM32G070RBT6驱动RC522
嵌入式-单片机-STM32 EXTI中断
微信公众号
手机版