单片机发送float型的数是个小数,是不是要按位提取

[复制链接]
2006|11
 楼主| lium 发表于 2021-11-5 21:37 | 显示全部楼层 |阅读模式
void shakeHand_A()                        //握手信号
{
         do{
                 SBUF=0xaa;        //发送联络信号                           
                 while(TI==0);        //等待一帧发送结束
                      TI=0;
                 while(RI==0);        //等待乙机回答                        
                    RI=0;
         }while((SBUF^0xbb));        //乙机未准备好,继续联络
}                                                                           

void shakeHand_B()                          //握手信号
{        
           do{
                    while(!RI);
                  RI=0;
         }while((SBUF^0xaa));        //判断甲机请求否

        SBUF=0xbb;                //发应答信号
         while(!TI);
         TI=0;
}

如果A机的握手程序开始了,可是这是B机的程序还没到这边
renyaq 发表于 2021-11-5 21:41 | 显示全部楼层

没有接受到A机发的数据,当然也不会向A发送确认信号
zhanghqi 发表于 2021-11-5 21:43 | 显示全部楼层
A机没有收到数据程序也不会向下走啊
jlyuan 发表于 2021-11-5 21:44 | 显示全部楼层
是啊,程序就死在这边了
 楼主| lium 发表于 2021-11-5 21:46 | 显示全部楼层
哦,知道了
xxrs 发表于 2021-11-5 21:48 | 显示全部楼层

知道就好
这样的程序仅用来DEMO.
zhaoxqi 发表于 2021-11-5 21:51 | 显示全部楼层
嗯,现实中一般还是要打包发送
chuxh 发表于 2021-11-5 21:52 | 显示全部楼层
呵呵,当然一定要设超时控制...
pengf 发表于 2021-11-5 21:54 | 显示全部楼层
lz用串口在模拟什么协议呢?
heweibig 发表于 2021-11-5 21:56 | 显示全部楼层

如果对方乙机程序没有运行到,这甲机就会等待中
 楼主| lium 发表于 2021-11-5 22:03 | 显示全部楼层

发了个小错误。。。
结贴了,多谢大家
sadicy 发表于 2021-11-13 13:54 | 显示全部楼层
一般自己通信的话,怎么发的怎么收,
如果对接的话,需要协议
您需要登录后才可以回帖 登录 | 注册

本版积分规则

915

主题

9578

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部