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

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
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值