引用:
作者: welltech
//我的程序目的是把收到的数在发出去:现在能发不能收,好像接收中断进不去帮我看看吧
//使用超级终端来验证串口的程序
// 数据格式1200bps,8N1
#include <msp430x14x.h>
#define unit unsigned int
#define uchar unsigned char
void init(void);
void main(void)
{
init();
for (;;) ;
}
interrupt[USART0RX_VECTOR] void usart0_rx (void)
{
U0TXBUF=U0RXBUF;
//while((U0TCTL&0x01)==0);
while((U0TCTL&TXEPT)==0);
}
void init(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
U0CTL=PENA+PEV+CHAR; // 偶校验、8位模式
U0TCTL=0x10; // UCLK = ACLK 选择USART0的时钟为ACLK
U0BR0 = 0x1B; // 使用32k表晶生产1200bps波特率
U0BR1 = 0x00;
U0MCTL = 0x03; // Modulation
ME1 |= UTXE0 + URXE0; // Ena××e USART0 TXD/RXD
IE1 |= URXIE0; // Ena××e USART0 RX interrupt
P3SEL |= BIT4+BIT5; // P3.4--TXD0,P3.5--RXD0
P3DIR |= BIT4; // P3.4输出方向
_EINT(); // Ena××e interrupts
}
|
|
U0CTL=PENA+PEV+CHAR; // 偶校验、8位模式
U0TCTL=0x10; // UCLK = ACLK 选择USART0的时钟为ACLK
U0BR0 = 0x1B; // 使用32k表晶生产1200bps波特率
U0BR1 = 0x00;
U0MCTL = 0x03; // Modulation
编译肯定通不过?怎么通讯?