MSP430G2553做UART怎么搞??

2019-03-24 09:10发布

我做了好几天的UART,但是总是搞不出来,就用MSP430G2553裸单片机,是不是只要把J3的跳线帽前两个竖着连起来,P1.1连接TXD,P1.2连接RXD;就可以了,还是要搭建232外围电路才能实现,仅仅靠430G2553裸单片机不能实现。。。。。。就仅仅有一个单片机,没有别的东西了,求大神帮忙指点指点。。。。
我的430代码如下:大神看下有没有什么错误。。。。
/*T-->transmit(发送)      R-->receive(接收)*/
/* P1.1-->RXD(接收端口)       P1.2-->TXD(发送端口)*/
#include<msp430g2553.h>
#define uchar unsigned char
#define uint  unsigned int
void uart_init();
void main()
{
WDTCTL=WDTHOLD+WDTPW;          //关闭看门狗
uart_init();
_BIS_SR(LPM0_bits+GIE);       //进入低功耗模式,并且等待中断
}
void uart_init()
{
UCA0CTL1|=UCSWRST;
BCSCTL1 = CALBC1_1MHZ;                    // Set DCO
DCOCTL = CALDCO_1MHZ;                     //DCO-->1MHZ
P1SEL|=BIT1+BIT2;                        //设置P1.1,P1.2,为外围模块
UCA0CTL1|=UCSSEL_2;                     // SMCLK
UCA0BR0=104;                            // 1MHz 9600
UCA0BR1=0;                              // 1MHz 9600
UCA0MCTL|=UCBRS0;   
UCA0CTL1&=~UCSWRST;                   //清除UCSRST,清除所有的复位
IE2|=UCA0RXIE;                  //开TXD,RXD的中断
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void UART0RXD()
{
while (!(IFG2&UCA0TXIFG));   // USCI_A0中的TXbuffer是否空位,当有数据的时候标志为0
UCA0TXBUF=UCA0RXBUF;   
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
纠结者
2019-03-26 04:33
我之前说的你试试,但是我确实看到了和你那句话一模一样的代码,等于104或许可以,总之你试试呗,学习嘛!

一周热门 更多>

相关问题

    相关文章