8051串行端口接收数据丢失

时间:2015-04-10 20:43:06

标签: serial-port serial-communication 8051 data-loss

我正在制作简单的短信程序,这样我就有两台8051机器,其中一台是发射机,另一台是接收机。发送器发送8个字符,编码为:

     ...
     mov r7, #8
     mov r0, #30h
TRS: clr TI
     mov sbuf, @r0
     inc r0
     jnb TI, $
     djnz r7, TRS

我从键盘上得到了8个字符,他们肯定会在30h到37h之间。获得这8个字符后,我发送数据。然而,我在接收器LCD中看到的是第一个8字节的字符。即如果我键入1 2 3 4 5 6 7 8,接收器只能获得1并显示它。这是接收器的代码:

     ...
     mov r7, #8
REC: jnb RI, $
     mov a, sbuf
     acall SEND_DATA
     clr RI
     djnz r7, REC

接收方等待另外7个字符。当我从发射器接收器输入64个字符时,只需要8个mod8 = 1。我正在清除RI标志并等待RI的下一个上升沿,这应该是来自trasmitter的下一个char。可能是什么原因?

此致

0 个答案:

没有答案