中断程序
void CH376_PORT_INIT( void ) /* 由于使用异步串口读写时序,所以进行初始化 */
{
DCOCTL = 0; // Select lowest DCOx and MODx settings
BCSCTL1 = CALBC1_1MHZ; // Set DCO
DCOCTL = CALDCO_1MHZ;
P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
P1SEL2= BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
UCA0CTL1 |= UCSSEL_2; // SMCLK波特率发生时钟
UCA0BR0 = 104; // 1MHz 9600 波特率发生器分频系数低八位
UCA0BR1 = 0; // 1MHz 9600 波特率发生器分频系数高八位
UCA0MCTL = UCBRS0; // Modulation UCBRSx = 1
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine** 系统复位
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt 开启接受中断
_EINT();
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready?
UCA0TXBUF = UCA0RXBUF; // TX -> RXed character
}
求解释,拜托了。