找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 860|回复: 2
收起左侧

单片机用无线串口多机通信为什么数据会丢失?有什么发的方法吗?

[复制链接]
ID:819053 发表于 2022-4-1 16:12 | 显示全部楼层 |阅读模式
我做了一个多机通信,采用无线串口透传方式,主机与从机通信时,从机偶尔返回的数据会丢失, 谁能告诉我用什么方法,才能保证每次通信都能正常。例:
//==主机发送001SLAVE! ,从机收能比对成功就返回从机号001DH!

回复

使用道具 举报

ID:123289 发表于 2022-4-2 09:40 | 显示全部楼层
分两种形式:
1、硬件问题,如信号被移动障碍物遮挡:需要你用协议弥补,在如何知道丢失,如何补发补收上下功夫。
2、软件丢失,需要你合理架构你的程序,要点如下:
所有中断级别高于串行中断的服务程序(包括同级的串口中断本身)要尽可能的短(运行时间),因为这些程序运行时,串口中断不会被响应,当运行时间超过一个字节的串行发送时间时,数据就会被后来的数据冲掉了(丢失)。
这就需要你对中断有极强的理解,并考验你通盘合理安排处理所有中断服务程序的能力。能不在中断中处理的东东,请统统放到中断外面去处理!!
回复

使用道具 举报

ID:827243 发表于 2022-4-2 12:53 | 显示全部楼层
要保证通讯可靠无误,只能从软件下手,编程实现超时,重传,校验机制以保证通讯可靠。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表