你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103 串口通讯存在的疑惑

[复制链接]
liu632588785 提问时间:2017-12-20 15:49 /
本帖最后由 liu632588785 于 2017-12-21 11:18 编辑

各位大神,我是刚学STM32,看到别人程序,想请教一下,设备利用STM32f103芯片,串口通讯协议是:下位机发送:BB       //下位机请求发送数据
上位机回复:DD      // 上位机收到发送请求,如果无应答,则下位机重复发送BB
下位机发送:AA 00 00 00 00 00 AA   //下位机发送数据,第一个字节为帧头,第七个字节是前六个字节之和。
上位机回复:EE      //收到数据,如果第七个字节和不等于前六个字节之和,则上位机发送MM,则下位机重新发送
................................
按照道理应该是一直循环的,但是在设计测试过程中,经常出现以下情况(标红情况):
下位机:BB
上位机:DD
下位机:AA 00 00 00 00 01 AB
上位机:EE
下位机:BB
上位机:DD
下位机:BB AA 00 00 00 00 11 BB
上位机卡住................
重启
下位机:BB
上位机:DD
下位机:AA 00 00 00 00 02 AC
上位机:EE
下位机:BB
上位机:DD
下位机:BB AA 00
下位机:00 00 00 13 BD

又是卡住.................

不知道是什么原因,求大神指导一二。

复制代码






评分

参与人数 1 ST金币 -5 收起 理由
Inc_brza -5 标题不合格

查看全部评分

收藏 评论5 发布时间:2017-12-20 15:49

举报

5个回答
MrJiu 回答时间:2017-12-20 15:50:47
我去,惨无人道的代码。。。。.
liu632588785 回答时间:2017-12-20 15:53:44
MrJiu 发表于 2017-12-20 15:50
我去,惨无人道的代码。。。。.

:'晚上重新编译一下 ,不好意思
maxtch 回答时间:2017-12-20 16:13:35
数据封包出了问题,某一端一直等不到包尾,又没有超时机制,就卡住了。建议您学习一下 OSI 协议模型再试,这样的话设计出来的通信协议就不会有这种问题的。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

Inc_brza 回答时间:2017-12-21 09:03:58
标题不合格,24小时内不修改做关闭处理!
回答时间:2017-12-21 10:00:34
楼主,还是考虑一下用固定的格式进行处理吧。可以参考modbus

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版