找回密码
 立即注册

QQ登录

只需一步,快速开始

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

请教单片机串口如何发送长数据串不丢包(16进制)

[复制链接]
跳转到指定楼层
楼主
ID:137005 发表于 2020-10-21 15:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠好!      请教一下,想通过STC8单片机,按键和串口结合,实现以下功能:
1、按按键1,发送字符串1,
2、按按键2,发送字符串2,
3、按按键3,发送字符串3,
4、按按键4,发送字符串4。

长字符串为16进制,类似如下格式:
5b0102020000001507da07da7d0100007b227678223a312c227679223a302c2277223a307a

咨询一下,这长字符串怎么处理好,我用以下方式的容易丢包
unsigned char JDQdata1[7]={0x5a,0x01,0x00,0x02,0x00,0x00,0x00};  
unsigned char JDQdata2[9]={0x2a,0x07,0xda,0x07,0xda,0x7d,0x01,0x00,0x00};



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

使用道具 举报

沙发
ID:213173 发表于 2020-10-21 16:21 | 只看该作者
发送长数据串容易出错主要是硬件原因。比如时钟不准确(片内RC振荡器),波特率过高,传输距离过长,其次是软件原因。比如处理长字符串的软件有缺陷(缺少数据头、数据尾及验证码等),其它高优先级中断干扰串口数据发送等等。
回复

使用道具 举报

板凳
ID:414556 发表于 2020-10-21 19:00 | 只看该作者
先降低波特率测试,你的字符串不算长。我的程序经常发512字节的数据,检查没有错过.
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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