本人刚开始学习MSP430F5529单片机,之前编过一个程序是用串口调试助手发送接收到的数据的一个小程序。之前明明试通了的,但现在突然不能用了,可是程序没有变呀。检查过程序,觉得没有问题呀。可是助手却接受不到数据。这是为什么呢?
一下是我的程序:
#include <msp430f5529.h>
int a;
void main(void)
{
WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer
P4SEL|=BIT4+BIT5;
UCA1CTL1|=UCSWRST;
UCA1CTL1|=UCSSEL_1;
UCA1BR0=0x03;
UCA1BR1=0x00;
UCA1MCTL=UCBRS_3+UCBRF_0;
UCA1CTL1&=~UCSWRST;
UCA1IE|=UCRXIE;
__bis_SR_register(LPM3_bits+GIE);
}
#pragma vector=USCI_A1_VECTOR
__interrupt void USCI_A1_ISR(void)
{
switch(__even_in_range(UCA1IV,4))
{
case 0:break;
case 2:
while(!(UCA1IFG&UCTXIFG));
UCA1TXBUF=UCA1RXBUF;
break;
case 4:
break;
default:break;
}
}
用设断点的方式发现,即使助手发送信息,程序也不能进入串口接受中断,会不会硬件方面出了问题呢?
file:///C:\Users\John\Documents\Tencent Files\2477017387\Image\C2C\NG@R9]J_O0Z$2N}}GMNHS4K.png
|