OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2919|回复: 5

485串口通信的时候单个板子能正常通信但是两个板子就不能正常通信必须按照顺序发送才能正常工作

[复制链接]

3

主题

12

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2019-9-18
在线时间
16 小时
发表于 2019-12-3 16:42:26 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 guominSTM32 于 2019-12-3 16:52 编辑

单个板子通信没发现问题,但是两个板子一起工作通过地址识别的时候就出现问题,如果是只接收不发送就都能通信。但是只要其中一个板子有发送的话另一个板子就必须要接收到两次数据才能工作,
助手发送1111:丛机1发送数据给串口助手。助手发送:0111000000000000000000000000 点亮丛机1号上的24个灯。助手发送0111111111111111111111111111熄灭丛机1号上的24个灯。助手发送:1000:丛机2发送数据给串口助手。现在只要发送1000后要想点亮丛机1上的24个灯就必须发送两次0111000000000000000000000000数据。如果按照1111      0111000000000000000000000000       0111111111111111111111111111       1000     0000000000000000000000000000       00001111111111111111111111111   就能正常工作
微信图片_20191203165141.png

串口通信V003.zip

3.87 MB, 下载次数: 13

源代码

最佳答案

查看完整内容[请看2#楼]

发送完毕后必须要加一个(发送新行)0X0D 0X0A 加上这个就好了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2019-9-18
在线时间
16 小时
 楼主| 发表于 2019-12-3 16:42:27 | 显示全部楼层
发送完毕后必须要加一个(发送新行)0X0D 0X0A 加上这个就好了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2019-12-4 02:34:30 | 显示全部楼层
帮顶
回复

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2019-9-18
在线时间
16 小时
 楼主| 发表于 2019-12-4 08:29:25 | 显示全部楼层
已经解决了,还是要仔细看看原子的资料才行,原来末尾少了一个结束位(发送新行),没有发送0X0D 0X0A所以串口没有接收完毕,加上这个就好了
回复

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2019-12-5 16:35:19 | 显示全部楼层
多机通信最好用通信协议去控制,每个从机都有独立的地址,发送数据的时候带上地址,从机通过地址判断是否为为本机数据。
回复

使用道具 举报

0

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2019-12-3
在线时间
27 小时
发表于 2019-12-6 21:06:27 | 显示全部楼层
5楼说的是正解.经典的用法.所有的多机通信理应如此.
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-23 13:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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