STMCU小助手
发布时间:2022-4-25 21:24
|
7.4 使用定时器产生PWM输出 7.4.1 配置PWM输出通道 返回到引脚配置系统中,这次我们选用TIM3作为PWM的产生定时器,在“TIM3”界面将“Clock Source”设为“Internal Clock”内部时钟,再将通道4设为“PWM Genration CH4”。 选用定时器3通道4的原因是它与开发板LED相连,方便查看PWM情况。
接着进入TIM3的配置设置中(没显示出来的注意去刷新系统时钟)
将系统分频设为480,得到1KHZ频率,将计数设为1000得到1000us的PWM周期。 频率 = 定时器时钟 / (Prescaler 预分频 + 1) / (Counter Period 计数值 + 1) Hz 占空比 = Pulse ( 对比值) / (C ounter Period 计数值) % 同时开启自动重载防止定时器溢出。点击保存并生成代码。 7.4.2 PWM输出开启 在“NVIC.c”中,为中断函数初始化分别添加定时器3开启以及PWM占空比的代码即可。
由于开发板是串联红色LED接电源的方式连接,高电平时电流不导通LED为灭,又因为红色LED发出的光强较强,因此需要高占空比才能用肉眼看出差距。因此这里将“HAL_TIM_SET_CMPARE”值设为990,相较于1000的计数值占空比即为99%,使得大部分时间IO口输出为高电平。 实际效果:
附上程序:
|
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
OpenSTLinux 6.1发布:M33-TD加持+安全升级,STM32MPU开发效率翻倍!
【经验分享】STM32CubeIDE汉化
手把手教你VSCode搭建STM32开发环境
RTOS在STM32中的应用
微信公众号
手机版