MSP430 串口调试,单步发数据正确,全素的时候就丢包,而且很严重

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

设置 无校验  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)
{
  unsigned char  *p ;
  p = pchar;
  while(*p!='\0')
  {
     TXBUF_0 = *p;

     Delay(50);   //不延时 丢包严重   开始在发数据之后没有延时丢包,加延时后发

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值