【发送数据】串口发送数据的问题汇总

1\发送一般是不需要放在中断中的(我写了10年程序,从没放过,^_^)
你改成这样
  SBUF=sendH;
    while(TI==0);
     TI=0;
   SBUF=sendL;
   while(TI==0);
     TI=0;
直接观察TI来判断是否发送成功,而不是靠延时,最好是你写成专门的发送函数,这样程序更清晰
http://zhidao.baidu.com/question/180543390.html

51单片机接收多字节数据 串口通信 
最近看串口,突然有个问题没想明白,
如果我用串口调试助手发送多个字节的16进制数,例如:55 33 aa 44等,按发送是四个字节一起出去的,但是51的SBUF只能装一个字节的数据,剩下的数据怎么办那。当然我知道肯定能接收正确,我就是不理解这个是如何接收的。

  
最佳答案
按发送是四个字节一起出去的,...。
----------------------
它们不是“一起”出去的。
实际上,串行口是按照波特率,把一位一位的二进数,顺序送出去的。

51的接收器,也是按照波特率,一位一位的收。
等到收齐了8个位(如55H),就送到SBUF,并且在RI置一;
再接着收,33H、...等等。
http://zhidao.baidu.com/question/171211222.html?fr=qrl&cid=93&index=2&fr2=query
 
 
 

posted on 2022-10-04 01:31  bdy  阅读(147)  评论(0编辑  收藏  举报

导航