对于STM32 485通讯的理解

485是一种半双工的通讯方式,即发送和接收信息不能同时进行,一般是采用两线制。

485的特点有:

  1. 通过AB线的电势差决定信号,2~6V为1,-6~-2V为0
  2. 传输距离远,但是距离远会导致传输速度下降
  3. 抗干扰能力强
  4. 支持多节点,即多设备通讯,起始和结束端要加120的阻抗

上图是485的连接方式,其实应该是没有主机这一说的,大家都是平等的。

STM32芯片本身没有485通讯的口,但是可以通过一块UART转485模块进行485通讯,比如SP3485

上图为SP3485的硬件框图,图中A、B总线接口,用于连接485总线。RO是接收输出端,DI是发送数据收入端,RE是接收使能信号(低电平有效),DE是发送使能信号(高电平有效)

该模块与STM32的硬件连接图为:

其中RS485_RE这个口可以用一个普通的IO代替,图中用了一个PCF8574T模块,通过IIC拓展IO输出信号,正常我们使用的时候没必要这么搞。

当RS485_RE=0的时候,为接收模式;当RS485_RE=1的时候,为发送模式。

会不会有人问,485这么麻烦,而且485通讯的传输速度取决于串口,为什么还有专门通过串口转485再操作,直接通过串口不好么?

使用485的原因可能有以下几个:

  1. 通讯的从机是485接口的,你只能硬着头皮用485去通讯
  2. 多设备通讯,串口只能两个设备
  3. 远距离传输

其他就不用多说了,有点STM32基础的应该都会操作了吧,以上就是我对485通讯的理解,以及STM32如何使用485的谈论。

猜你喜欢

转载自www.cnblogs.com/showtime20190824/p/11422949.html