电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
如何避免串口长事件传输出错
已解决
73482
个问题
已帮助
5993
位优秀工程师
如何避免串口长事件传输出错
江湖老李
2020-07-20
浏览量:960
我的一个项目,串口传输一个很大的协议包容易出错
显示全部
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
SunnyPlus
大包出错一般都是由于晶振精度较低导致的,当数据包过长时,数据位难以对齐。也可能是接收缓存太小,数据溢出。建议使用外部标准晶振,比如STM32系列可以使用7.3728MHz,而不是8MHz,也可以使用11.0592MHz之类的。另外检查接收机制及缓存区大小。
发布于
2020-07-20
举报
评论 0
0
0
其他答案
数量:
6
kerwin
1、信号线加上拉电阻
2、信号线加屏蔽
3、协议中加个验证,如果验证出错,则重新发
发布于
2020-07-20
举报
评论 0
0
0
yhj416606438
可以用检验的方式来防止数据出错,比如在数据结尾用crc检验,如果接收方检验正确就没问题,如果检验出错那么接收方发出让发送方重新发送的命令,你可以参考以太网或者modbus协议
发布于
2020-07-20
举报
评论 0
0
0
莱克迷KW
应该是时钟的精度不高的原因,你可以分包发送,或是在发送了N个数据后进行时钟的矫正
发布于
2020-07-20
举报
评论 0
0
0
山鬼
误码不可避免,只能验证重发。 另外尽量分包,可降低重发次数,提高效率。
发布于
2020-07-20
举报
评论 0
0
0
chen0000009
检查一下出错的点在哪里,看是不是申请一块很大的内存空间失败导致的,这样就需要选择更大内存的STM32
发布于
2020-07-21
举报
评论 0
0
0
小小秋风1
使用双绞线,中间可加一个信号中继站,输出数据开启奇偶校验。
发布于
2020-07-25
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
如何避免串口长事件传输出错
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: