This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我使用 msp430fr2355进行以下设置。 使用2个 PWM。 其中一个在一段时间后打开100%占空比并导致抖动(如所附波形所示。
void PWM_init (void)
{
PM5CTL0 &=~μ A LOCKLPM5;
TB1CCR0 = 400-1;// PWM 周期
TB1CCTL1 = OUTMOD_7;//| CCIE;// CCR1复位/置位
TB1CTL = TBSSEL__SMCLK | MC__UP | TBCLR;//| TBIE;// SMCLK、向上计数模式、清除 TBR
_delay_cycles (180);
TB3CCR0 = 400-1;// PWM 周期
TB3CCTL5 = OUTMOD_7;
TB3CTL = TBSSEL__SMCLK | MC__UP | TBCLR;
}
请帮助解决此问题。
谢谢。
锡瓦拉詹
感谢您的回复、抖动我的意思是低迹线的占空比是随机的100%。
其它代码按照如下方式加载 CCR 寄存器
//#define Duty TB1CCR1
//#define DUTY1 TB3CCR5
占空比= DUTY1 =占空比;
在勘误表中显示
"在向上计数模式下、当 TBxCCTLn 时、TBxCCRn 的值被立即转移到 TBxCLn 中。 CLLD 位 被置位或0x01或0x10"
在初始化代码中、我尚未设置 CLLD、并保持默认值0x00。
问题是、它是否仍会影响 PWM?
我 无论如何都会尝试通过计时器溢出 ISR 加载 CCR 并共享结果。
再次感谢..
您好 Sivarajan:
在您获得最新结果后,您可以设置一个新的帖子,我们的美国同事将在24小时内回复您,因为接下来的几天是中国清明节,我将在4月14日回到办公室。
此致、
K·扬茨
勘误表仅适用于 CLLD=1或=2、因此如果您不设置它(CLLD=0)、它不会影响您。 但 CLLD=1或=2是(在我看来)唯一有用的设置、因此实际上没有 CLLD 功能。
在溢出(TBIFG)或 CCR0 (CCTL0:CCIFG) ISR 中设置 CCRn 通常是一个不错的选择。 在某些情况下、在 CCRn ISR 中设置该位的效果会更好。