概述
关于STM32CubeMX配置TIM3_CH2部分映像PB5
- 先配置启用定时器
- 再在Pinout View窗口找到PB5左击,选择TIM3_CH2,管脚呈黄色
- 再在TIM3 Mode and Configuration 找到Channel2 选择 PWM Generation CH2,管脚呈绿色,
至此已经完成重映射,然后自主配置PWM。
PWM配置说明
sConfigOC.OCMode PWM 模式
sConfigOC.Pulse 比较值 写CCRX
sConfigOC.OCPolarity 比较输出极性(PB5小于CCRX输出电平)
sConfigOC.OCFastMode 输出比较快速使能和失能
举例说明
1.PWM的周期,周期越大,LED频闪越明显,
2.比较值 用于设置PWM占空比,由于我的LED低电平有效,所以CH Polarity设置LOW ,这个数值越大,亮度越高。
简单实现一个呼吸灯
动态设置PWM子函数:
void pwm_setvalue(uint16_t value)
{
TIM_OC_InitTypeDef sConfigOC;
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = value;
sConfigOC.OCPolarity = TIM_OCPOLARITY_LOW;
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_2);
HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_2);
}
主函数:
#define BLN 200
注:BLN等于200,是因为定时器中counter period设置200
while (1)
{
for(uint16_t i=0; i<BLN; i++){
pwm_setvalue(i);
HAL_Delay(10);
}
for(uint16_t i=BLN; i>0; i–){
pwm_setvalue(i);
HAL_Delay(10);
}
}
最后
以上就是爱笑书本为你收集整理的STM32 PWM的全部内容,希望文章能够帮你解决STM32 PWM所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复