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

STM32系列与其他MCU之间串口通讯问题

[复制链接]
奏奏奏 提问时间:2018-7-31 21:29 /
本帖最后由 奏奏奏 于 2018-8-1 17:58 编辑

问题先描述的具体一些好让大佬帮忙给一些意见:
目前用的是STM32F103CBT6与一款定制的Wifi模块(内含M4F架构的MCU)进行串口通讯,直接TX对RX的连接,没有上拉下拉电阻。
9600波特率
根据协议:
STM32F103CBT6发数据是:
B5 5B 21 F4 00 01 01 51 11 01 01 12 00 00 00 00 00 00 00 00 04 03 01 01 01 01 03 01 02 02

另一款MCU接到的是:
b5 5b 21 f4 00 01 01 51 11 01 01 12 00 00 00 00 00 00 00 00 04 03 01 01 01 01 03 01 02 00

另一款MCU会在接收到STM32F103CBT6串口包的时候计算校验值(第3、第4个字节)
因为有时候收到的串口数据最后一个字节会变为00(发的是02)
所以算出的校验值与我数据包的校验值一比对就报错。

希望各位大佬帮我提提宝贵的意见帮我排查这是硬件问题还是软件问题?
另一款MCU接到的数据都是从串口缓冲区读出来的。
收藏 评论3 发布时间:2018-7-31 21:29

举报

3个回答
七哥 回答时间:2018-7-31 22:19:28
你的串口是TTL串口,还是RS232串口?RS232串口可能会出问题,多一道转换,多一点隐患,有时不见得是你的原理问题,芯片真假不好控制。

可以想办法,把STM32发出的数据,引回到本串口,或另一路的RX端。或者外面在挂一片STM32,看看到底发送的是什么。到底是发送有问题,还是接收有问题。

终极办法,上逻辑分析仪,把数据抓全。不需要多高端逻辑分析仪,二十来块钱的68013足以。
奏奏奏 回答时间:2018-7-31 23:40:42
toofree 发表于 2018-7-31 22:19
你的串口是TTL串口,还是RS232串口?RS232串口可能会出问题,多一道转换,多一点隐患,有时不见得是你的原 ...

是TTL串口
逻辑分析仪刚买了,可以接到串口的两根线上抓包。我这也没想到。
我目前是直接把USB转TTL串口工具直接跨接在串口的两根线上,要不然我也不敢说我发出来的就是对的。
感谢您的建议!
七哥 回答时间:2018-8-1 00:11:02
奏奏奏 发表于 2018-7-31 23:40
是TTL串口
逻辑分析仪刚买了,可以接到串口的两根线上抓包。我这也没想到。
我目前是直接把USB转TTL串口 ...

USB转TTL,怎么跨接到串口两根线的?只能接一根,U转T的RX接到MCU的TX上,GND共地。
你的Wifi模块是几伏的?是3.3V吗?如果也是3.3V的话,不存在电平差异。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版