我用51单片机设计一个多机通讯请问用I^2c总线好呢还是串口通讯(30M)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我用51单片机设计一个多机通讯请问用I^2c总线好呢还是串口通讯(30M)相关的知识,希望对你有一定的参考价值。

是用于我们公司的吊蓝,总共有4层,每一层都要有层显,和楼层按钮,
并且还要有急停。我想急停可以用外部中断,然后在和主机通讯

用串口通讯,不过最好是用RS485,不要直接用RS232
IIC不适合远距离通讯。
参考技术A 毫无疑问

RS485 1主对多从 通信

请看 鸿伟光电
485C rs232/rs485/rs422无源转换器
485D rs232/rs485/rs422有源隔离转换器
参考技术B 用串口通信吧,

请问使用TTL电平,能够进行3个单片机的串口通信吗?

使用TTL电平,可以 3个 或者 多个 单片机的串口通信,可以自己设计一个 通讯协议,
多 机 通信 要设置 一个 主机,可以多个从机,从机之间 的数据 交换 需要通过 主机,
如果 短距离 通讯,可以 直接 串口连接, 主机 RXD、TXD 连接 从机TXD、 RXD,
如果通讯速度不高 100米内应该可以 做到,距离长些,波特率要低一些,
加上 RS485通讯距离 可以在 1500 米左右。追问

我的这个设计属于临时的,将来肯定要改方案。现在的问题是,我两两之间通信很好,通信协议也经过反复验证,但是三台设备一起工作时就出现了问题。通信距离不远,控制在30公分之内,波特率是57600,三台设备都是stm32的。这样通信确实没有问题吗?是这样的话那就是我的程序还有问题咯

追答

这可能是 主机 与 从机 的关系没有 配置好,从机必须有 编号,通信协议 如
指令 - 从机号 - 数据1 - - - 数据n - 校验 - 结束
因为 主机发送 数据时,所有 从机都能接收 到数据,从机需要 识别是 发给自己的 才执行。

参考技术A 首先,单片机可以实现多机通讯。
其次,如果通讯距离较长,那么选择串口,建议接232或485等模块。
再者,如果通讯距离较短,譬如在同一电路板上,那么可以用IIC或SPI方式,用TTL电平通讯。
最后,多机通讯时,最好设置成主从站,并给每个站一个站点号。
以上供参考。
参考技术B 1 楼 说的不错! 参考技术C 提问的兄弟你还在吗?我想问你下,两片STM32 芯片串口直接TTL连接,配置方面有哪些要改的吗? 参考技术D 为什么要用TTL电平呢,3个单片机离的远吗?

以上是关于我用51单片机设计一个多机通讯请问用I^2c总线好呢还是串口通讯(30M)的主要内容,如果未能解决你的问题,请参考以下文章

I2C总线出错

两个51单片机如何通过i2c通讯?

C51单片机多机通信C语言

STC单片机的SPI从机通讯问题

请问12c总线和串口RS232的区别?二者共融么?

单片机多机通信都有哪些方式呢?