大佬门,如果2个MCU之间通过485通信,一个是自动收发,一个是软件控制,这样会不会很容易出错,导致通信经常读不到?
硬创社
全部评论 默认 最新
a_bai
2024-06-05 15:39:22 来自安徽
不太明白你的自动收发是什么意思,按照我理解的自动收发是485的PHY芯片可以自己自动收发。不过我查了一下SP3485的数据手册,这个芯片是不能自己收发的。我之前用过的MAX13488EESA+T芯片是支持自动收发的,不需要用MCU的引脚去再去控制收发。
Andrew_Wnh
2024-04-30 16:24:13 来自云南
你可以采用一主一从一问一答的形式,用串口中断,主机循环发送,从机只有在接受到信息后才进行发送,这招百试百灵
1N83t79o01 作者
2024-05-16 22:29:11 来自广东
从ji要接受信息的话,那就要是能SP3485出于接受模式
云淡风轻
2024-04-27 16:13:44 来自山东
只要软件控制端做主机就没问题
1N83t79o01 作者
2024-04-29 17:59:03 来自广东
2边都是软件控制呀
小梁同学
2024-05-13 17:52:55 来自广东
意思是,你软件控制收发那边应该是通过第三方控制发送/接收(比如平台,上位机,定时发送等等),MCU2做主机,MCU1做从机;其实不太理解你MCU1中描述的自动收发是只MCU的软件功能还是硬件电路
1N83t79o01 作者
2024-05-16 22:27:00 来自广东
是硬件自动收发
彩虹
2024-04-25 16:26:31 来自河南
首先两者同时是接收状态并不冲突,只有同时发的状态才冲突,485通讯是应答模式,需要一接一收,从机要默认处于接收状态,你图中AB不应带箭头
1N83t79o01 作者
2024-04-25 16:12:57 来自广东
就是左边自动收发如果处于收,但是刚好MCU2也处于收那就出问题了吧?所以MCU1要去读MCU2的时候,需要MCU2把UART处于发送状态?问题是MCU2怎么知道MCU1是处于收状态
彩虹
2024-04-25 16:28:38 来自河南
应答模式,MCU2做从机,只有接收到MCU1的指令才返回数据给MCU1
1N83t79o01 作者
2024-04-25 16:46:31 来自广东
你意思MCU2只是切换485为发送模式就行对吗?不用收模式,只顾着发就行?这样MCU1去读MCU2就行了
彩虹
2024-04-25 14:53:14 来自河南
应该是时序逻辑问题,一主一从才行,避免两者同时发,冲突
1N83t79o01 作者
2024-04-25 15:17:12 来自广东
但是有没有可能左边收的过程,右边的MCU也是控制收,那不是冲突了吗
3A8LC2J5b9
2024-04-25 11:41:58 来自江苏
一般不会读不到的
1N83t79o01 作者
2024-04-25 15:17:28 来自广东
但是有没有可能左边收的过程,右边的MCU也是控制收,那不是冲突了吗
Hwen
2024-04-25 10:54:47 来自广东
不会
1N83t79o01 作者
2024-04-25 15:17:17 来自广东
但是有没有可能左边收的过程,右边的MCU也是控制收,那不是冲突了吗
Hwen
2024-04-25 16:00:17 来自广东
两边都是收,有问题吗?会有乱码?
1N83t79o01 作者
2024-04-25 16:08:22 来自广东
我的目的是MCU1去读MCU2的状态啊,肯定是一发一收才行。看题噢
Hwen
2024-04-25 16:50:52 来自广东
所以啊,你自己都知道是一收一发了,怎么又变成两边都是收状态呢
1N83t79o01 作者
2024-04-25 10:32:38 来自广东
左边是单片机1,右边是单片机2
1N83t79o01 作者
2024-04-25 17:38:02 来自广东
因为左边是自动收发的,这样的话只能让MCU2一直处于发送状态才行?然后MCU1才能读到MCU2的状态?
没有更多啦~