以下代码功能
P1.0输出ACLK时钟,P2.0作为捕获引脚,捕获P1.0的信号,上升沿触发,在捕获中断中向PC机通过串口发送字符A
#include <msp430.h>
int main(void) {
WDTCTL = WDTPW | WDTHOLD;// Stop watchdog timer
P3SEL=BIT3+BIT4;
UCA0CTL1|=UCSWRST;
UCA0CTL1|=UCSSEL_2;
UCA0BR0=6;
UCA0BR1=0;
UCA0MCTL=UCBRS_0+UCBRF_13+UCOS16;
UCA0CTL1 &=~UCSWRST;
UCA0IE |=UCTXIE;
P2DIR &=~BIT0;
P2SEL |=BIT0;
P1DIR |= BIT0; // ACLK set out to pins
P1SEL |= BIT0;
TA1CTL =TASSEL_2+MC_2+TACLR;
TA1CCTL1=CM0+SCS+CAP+CCIE;
__bis_SR_register(LPM0_bits+GIE);
}
#pragma vector=TIMER1_A1_VECTOR
__interrupt void TIMER0_A1_ISR(void)
{
while (!(UCA0IFG&UCTXIFG));
UCA0TXBUF = 0x41;
TA1CCTL1 &=~CCIFG;
}
然后将程序烧录进MSP430F5529 LP后单步调试,在进入 __bis_SR_register(LPM0_bits+GIE);时,直接跳到了isr_trap.asm文件中的
.sect".text:_isr:__TI_ISR_TRAP"
.align2
.global__TI_ISR_TRAP
__TI_ISR_TRAP:
BIS.W #(0x0010),SR
JMP __TI_ISR_TRAP
这一段语句了,我查了很久都不知道为什么没有进入中断服务程序而进了这个文件,有大神跟我解释下吗? PS:编译环境 CCS 6.01
mangui zhang:
应该到MSP430版块提问