串口通信的弊端
先来回顾一下串口通信(STM32串口通信详解)
串口采用的电平是 TTL 电平
即5V-2.4V为高电平,0.4V-0V为低电平
如果受外界的静电干扰,此时低电平就会被拉高,低电平就变成了高电平,这样数据就紊乱了
因此,直接采用TTL电路会受到距离限制
RS 232
为了解决距离这个问题,就采用232来通讯,如图所示RS232接口
RS232通讯本质就是在加上了232芯片,把TTL电平转换成232电平
RS232的电平是负逻辑
当TTL输入为+5V,232输出-12V
当TTL输入为0V,232输出为+12V
RS232电平范围就相对串口来说,很广
+15 - +3V为高电平
-3V - -15V为低电平
两者的数据波形对比来看,显然232电平比TTL电平幅度更大,范围更广
这样的好处是,即使232电平受到了外界干扰,改变的电平还是在规定的电平范围之内
RS232比串口更抗干扰,因此能传输的距离也就更远
RS485
如果距离太远了,都是1公里起步,这时就只能使用RS485通讯了
485的本质也是在串口中加上了485芯片
不同的是,485将输入的TTL电路转换为差分信号(用两根线的差值来表示0和1),另外差分信号只需要2根线
当A>B,表示逻辑0
当A<B,表示逻辑1