UART 中断

2019-03-24 14:40发布

 while (!(UCA1IFG&UCTXIFG));
         UCA1TXBUF=UCA1RXBUF;
         P5OUT |=BIT5;
         for(n=0;n<100;n++)
           {Delay();}
         P5OUT &=~BIT5;
    break;      这是5438自发自收的中断程序,串口自动发送1个字节的数据,程序运行没问题,可是发送2个字节的数据,MCU就接收不到了,串口助手上要么显示PC接收到乱码要么接收不到数据,在IAR中查看UCA1RXBUF和UCA1TXBUF,里面只有第一个数据,没有第二个数据。      只有用一个数组将收到的2个数据存储后再赋给UCA1TXBUF才能实现2个数据的收发,不知道这是什么情况,请高手讲解一下 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
shower.xu
1楼-- · 2019-03-24 18:59
UCA1RXBUF和UCA1TXBUF寄存器只有8bit大小,一次只能保存一个字节,所以当你要发送多个字节或一句话时,先将上面的程序做成一个Send_char()的函数,即发送单字符的函数,循环调用就好了。 TM截图未命名.jpg
 还有你的break;不清楚是干什么的。
zzbaizhi
2楼-- · 2019-03-24 19:36
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章