设置 无校验 8位数据位 一位停止位 波特率9600
源代码 如下:
void UART_Init(void)
{P3SEL |= BIT2+BIT3+BIT4; //端口设置 P3.3/4/5
UCTL0 &= ~SWRST; // 初始化UART0状态机
U0CTL |= CHAR; //无校验 1位停止位 8位数据 无反馈 UART异步模式
U0TCTL|= SSEL0; //波特率时钟 ACLK
U0BR0 = 0x03; //波特率 9600
U0BR1 = 0x00;
U0MCTL = 0x4A;
ME1 |= URXE0 + UTXE0; //接收发送允许
IE1 |= UTXIE0+URXIE0; //使能发送中断
IFG1 = 0;
_EINT();
}
void Putchar(unsigned char *pchar)
{

在使用MSP430进行串口通信时,遇到全速发送数据时严重丢包的现象。通过设置无校验、8位数据位、一位停止位、波特率9600,发现初始发送后加延时可以避免丢包。分析可能是接收端未能及时接收导致。为解决同步问题,提出采用数据打包和回应信号机制,确保发送与接收的同步,提高通信可靠性。
最低0.47元/天 解锁文章
1116

被折叠的 条评论
为什么被折叠?



