我想实习通过串口调试助手向单片机发送一个字符,单片机接收后发回pc机,通讯线路完好,能实习单片机向pc机发送,但就是不能进入接收中断,请高手帮帮忙~谢谢
p3.4为发送,p3.5为接收,通过max3221转化。
代码:
#include <msp430x14x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog
P3SEL|=BIT4;
P3SEL|=BIT5;
P3DIR=0xD0;
P3OUT=0X80;
P1DIR |=BIT2;
P1OUT =0;
UCTL0 &= ~SWRST;
ME1 |= UTXE0 + URXE0;
UCTL0 |= CHAR;
UTCTL0 |= SSEL0+ TXEPT;
UBR00 = 0x03;
UBR10 = 0x00;
UMCTL0 = 0x4A;
IE1 |= URXIE0 + UTXIE0;
IFG1 &= ~URXIFG0;
IFG1 &= ~UTXIFG0;
_EINT(); // 全局中断使能
while(1);
}
//串口接收中断
#pragma vector=USART0RX_VECTOR
__interrupt void usart0_rx (void)
{
TXBUF0 = RXBUF0;
P1OUT ^= BIT2;
}
------解决方案--------------------
进入不了中断,一般都是初始化问题,或者是发送数据寄存器中有数据
------解决方案--------------------
楼主去看看初始化,再是有些外部中断进去是要关闭中断的