STM32F051强制PWM输出固定电平

2025-11-07 10:36:31

1、设置OC输出模式为PWM2,N极性为High,P极性也未High。

STM32F051强制PWM输出固定电平

2、调用TIM_ForcedOC1Config(TIM1, TIM_ForcedAction_InActive);强制输出无效。

STM32F051强制PWM输出固定电平

3、测试显示,P极空闲时输出低电平,N极输出高电平,因为按上面的配置P极无效电平为低电平,N无效电平为高电平。

STM32F051强制PWM输出固定电平

1、PWM1和PWM2模式不改变强制输出的电平:

试试将PWM2改为PWM1.

输出结果显示PWM1和PWM2对TIM_ForcedOC1Config(TIM1, TIM_ForcedAction_InActive);没有影响。

STM32F051强制PWM输出固定电平

STM32F051强制PWM输出固定电平

2、PWM极性对强制输出的影响:

改变一下N极的极性,之前为High,现在调整为Low。

之前设置的N极极性为High,调用TIM_ForcedOC1Config(TIM1, TIM_ForcedAction_InActive);空闲时输出高电平,现在改为Low输出低电平,即对于Low极性的N通道,无效电平为低,与P极相反,跟预计的一致。

STM32F051强制PWM输出固定电平

STM32F051强制PWM输出固定电平

3、Active和InActive的区别:

保持P极性为High,N极性为Low,将TIM_ForcedOC1Config(TIM1, TIM_ForcedAction_InActive);改为TIM_ForcedOC1Config(TIM1, TIM_ForcedAction_Active);即强制输出有无效改为有效。

可以看到强制输出为有效后,对于P通道High有效,N通道Low有效时P输出高,N输出高。由此验证TIM_ForcedOC1Config();的第二个参数决定强制输出有效电平的状态。

STM32F051强制PWM输出固定电平

STM32F051强制PWM输出固定电平

4、TIM_CtrlPWMOutputs();对强制输出的影响:

试试在TIM_ForcedOC1Config前调用TIM_CtrlPWMOutputs(TIM1, DISABLE);禁止PWM输出。

PWM空闲时变为低电平,强制输出变得无效了!即强制输出的前提是PWM输出没有被禁止。同时及时调用了强制输出也不能禁止PWM输出,否则依然不能强制输出。

STM32F051强制PWM输出固定电平

STM32F051强制PWM输出固定电平

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢