1.MSP430F5438有三个定时器 TA0 TA1和TB,定时器的功能略有区别。
2.对于定时器TA1而言,有两个中断向量地址,其中比较匹配通道0具有单独的中断向量
3.MSP430中断向量的名称和TA0 TA1很难对应起来,需要通过中断向量地址来确认。
#define TIMER1_A1_VECTOR (48 * 2u) /* 0xFFE0 Timer1_A3 CC1-2, TA1 */
#define TIMER1_A0_VECTOR (49 * 2u) /* 0xFFE2 Timer1_A3 CC0 */
#define TIMER0_A1_VECTOR (53 * 2u) /* 0xFFEA Timer0_A5 CC1-4, TA0 */
#define TIMER0_A0_VECTOR (54 * 2u) /* 0xFFEC Timer0_A5 CC0 */
#define TIMER0_B1_VECTOR (59 * 2u) /* 0xFFF6 Timer0_B7 CC1-6, TB */
#define TIMER0_B0_VECTOR (60 * 2u) /* 0xFFF8 Timer0_B7 CC0 */
4.编写代码时可参考下表
中断矢量名称 | 中断向量 | 定时器 | 含义 | 操作寄存器 |
TIMER1_A1_VECTOR | 0xFFE0 | TA1 | TA1CCR1-2, TA1IFG 比较匹配通道1和2,溢出中断 | TA1CCTL1,TA1CCR1 TA1CCTL2,TA1CCR2 TA1CTL(溢出中断) |
TIMER1_A0_VECTOR | 0xFFE2 | TA1 | TA1CCR0 比较匹配通道0 | TA1CCTL0,TA1CCR0 |
TIMER0_A1_VECTOR | 0xFFEA | TA0 | TA0CCR1-4, TA0IFG 比较匹配通道1到4 溢出中断 | TA0CCTL1,TA0CCR1 TA0CCTL2,TA0CCR2 TA0CCTL3,TA0CCR3 TA0CCTL4,TA0CCR4 TA0CTL(溢出中断) |
TIMER0_A0_VECTOR | 0xFFEC | TA0 | TA0CCR0 比较匹配通道0 | TA0CCTL0,TA0CCR0 |
TIMER0_B1_VECTOR | 0xFFF6 | TB | TBCCR1-6, TBIFG 比较匹配通道1到6 溢出中断 |
|
TIMER0_B0_VECTOR | 0xFFF8 | TB | TBCCR0 比较匹配通道0 |
|