请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:MSP430F5326 这应该是一个简单的问题:
我正在使用Timer_A模块生成计数计时器并与TA0CCR1寄存器进行比较。 代码如下:
TA0CTL = TASEL1 + ID0 + MC0 + TAIE; // SMCLK/2 UP模式 TA0CCTL1 = CCIE; //比较中断 TA0EX0 = TAIDEX_4; //(SMCLK/2)/5 = SMCLK/10 TA0CCR1 =比较值; // SMCLK/CTRL数目 = TA0CLK/延迟TAL= TAN10
下面是中断处理程序:
#pragma vector = TIMER0_A1_Vector __interrupt void Timer(void) { SWITCH(TA0IV)//假定自动清除标记 { CASE TA0IV_TACR1: LED_OUT ^=(LED_OUT & GREG_LED); break; CASE TA0IV_none : default: break ;}}
但是,处理程序中的断点不会触发,并且在Code Composer中查看寄存器后,TAxR寄存器从不会更改0x0000...in,其他单词也不会开始计数。 我确信它正在获取源时钟。
我缺少什么?