找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 808|回复: 2
打印 上一主题 下一主题
收起左侧

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

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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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 单片机教程网

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