完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
急急急,各位大神,请问基于独立的三个STC89c52单片机超声波测得的距离数据,可以传给另外一个52单片机吗?就是多个单片机传数据给一个单片机,能实现吗?怎么做?
|
|
相关推荐
1个回答
|
|
当然可以。我以前做个4个单片机(从)传数据给一个单片机(主),也是测距。其实只要做好通信协议就可以了。通信协议必须包含两个层面:1.数据包格式,用于保证接收的数据的正确性,属于底层保证。2.通信方式,也就是多机通信的原则。
数据包格式可以自行定义,一般结构可为帧头(用于判断数据帧开始,可为多个字节以提高可靠性)+数据帧长度(数据帧字节数)+数据帧(具体要传输的数据,包括从机地址、命令等均包含于此)+结束帧(用于校验数据包是否准确接收)。 通信方式是指由谁开始发起通信,可以有主机到从机(询问,应答)方式和从机到主机(随机通信方式)。一般来说从机数量比较少的时候,可以选择查询-应答方式,每次由主机向一个从机发出查询指令,从机识别后向主机报告结果,这样就保证在每一个时候都只有一个从机与主机通信,避免数据冲突。 当然也可以选择多从机突发传送数据,但这时从机在发送数据前就必须先“监听”数据线电平在一段时间内(最短为1个字节传输的时间)是否有跳变,而发送结束后也应该延时1个数据包的时间再进行下一次数据发送(释放数据线)。这样从机可以随时向主机发送数据,主机根据解析接收到的数据包中数据帧包含的设备地址信息来获知是哪个从机的数据。 采用方式二若是不小心有两台从机同时发送了数据呢?别急,因为有了数据包格式的规定,两个数据包叠加后肯定是生成一个乱的数据包,不符合数据包格式,主机接收到后将丢弃该包,从机则转入监听以再次发送。 在我做的程序中,使用的是主从通信方式,数据包长10字节,每500ms查询所有从机数据。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
277 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
368 浏览 0 评论
766 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
592 浏览 0 评论
879 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12039 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 11:33 , Processed in 0.466814 second(s), Total 42, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号