我在比较模式下使用 Timer_A 在 MSP430f1xx 上生成 PWM 输出。 在 OSC 故障期间、我将 Timer_A 源从 SMCLK 更改为 ACLK (XTS=1)。
ACLK 现在以与 SMCLK 相同的频率运行、并且所有定时器寄存器看起来都正常。 但 PWM 输出频率现在是随机的(我假设这是因为 Timer_A 不会按预期在 ACLK 上运行)。
这是我的 NMI 例程、
#pragma vector=NMI_vector
_interrupt void NMI_(void)
{
IF (OFIFG){
configure_lfxt1 (); //确定
IFG1 &=~NMIIFG;
IFG1 &=~OFIFG;
IE1 |= NMIIE;
TACTL &=~(MC0 | MC1);
TACTL &=~tassel_2;
TACTL |= tassel_1;
_DELAY_CYCLES (200);
TACTL |= MC_1;
}
请提供任何指示。 谢谢、