MSP430G2553 单片机中集成了 USCI_A0功能模块,可以直接完成串口通信。
一、代码与仿真
TI官方例程中uart代码只有时钟,引脚,串口的初始化,不能直接串口收发,还需要增加发送函数和完善中断函数,我在官方例程的基础上,编写了串口通信程序,并硬件测试通过 😉。
硬件测试用板(TI的MSP-EXP430G2ET)
注意:图中绿圈跳帽的接法
在水平方向上, 跳线将 TXD 连接到 P1.1, 将RXD 连接到 P1.2 。
在垂直方向上, 跳线将 TXD 连接到 P1.2, 将RXD 连接到 P1.1。
用USCI_A0模块的串口时,RXD和TXD是固定的,板子的跳帽接法固定。
若是软件串口(TimerA定时器和软件结合的串口),则根据RXD和TXD
的设置,来接跳帽。
串口测试助手的收发情况
打开板子,电脑端收到
MADE BY PengChengIT.
G2553 UART
READY!!!
通过电脑端向芯片发字符,发啥收啥。测试成功!

代码说明
接收:
1、UCA0RXBUF是 USCI_A0模块存放要接收的字的寄存器。
2、接收过程触发中断响应,中断向量:USCIAB0RX_VECTOR;
发送
1、有两个发送函数
①putchar(unsigned char tx_data)直接向函数输入要发送的字节
②putstr(char *s),可以直接向函数输入要发送的一串文字、数字。
char *string1=“MADE BY PengchengIT\n”;
putstr(string1);
2、UCA0TXBUF是 USCI_A0模块存放要发送的字的寄存器。
程序:
收啥发啥,每次收到后P1.0会亮一下。
#include <msp430.h>
void putchar(unsigned char tx_data);
void putstr(char *s);
unsigned char RX_DATA;
char *string1="MADE BY PengchengIT\n";
char string2[]