请问PWM的问题,32V203

比如一个PWM的周期是3000,如果占空比的值设定大于或者等于周期值,那PWM输出是有效还是无效极性?

    TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;        // CHx  有效电平为高电平,无效电平为低电平

    TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;     // CHx  空闲状态输出低电平

    TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;      // CHxN 有效电平为高电平,无效电平为低电平

    TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset;   // CHxN 空闲状态输出低电平

这是我的极性设置。

您好,具体可以看一下下帖对于PWM输出的介绍:

https://bbs.21ic.com/icview-3388710-1-1.html

image.png 


嗯,看了,我现在想让PWM输出100%的占空比,我现在的周期3000,20KHz,经过我的测试,比较/捕获寄存器的值是0-2999,如果我给2999或者3000都是可以输出100%,所以需要确认一下到底是给哪个值合适?换句话说我要PWM输出100%给哪个值,不能用强制输出高电平方式,感谢。



您好,若要强制100%占空比时有效电平为高电平,还要看一下PWM输出模式的配置以及计数方式,可以选择PWM模式1,递增计数方式,当占空比100%时为高电平,如下图

image.png


对,我现在是向上计数,PWM1,是不是设置CH1CVR等于2999?


您好,若你重装载值是3000,比较捕获寄存器值应给3001。因为从0开始计数,计数到3000。


只有登录才能回复,可以选择微信账号登录