RS485 和RS232
参考:B站创客学院视频
这两个协议是物理层的协议,依赖于uart。它只是在物理层做了一个改变(增加了TTL和232电平转换的芯片,以达到减少信号干扰,提高传输距离的目的)。
RS232
RS232产生的背景
直接使用串口会有一些问题:
电器接口不统一——串口只规定了时序(起始位和终止位之类),但是并没有规定电器接口。uart一般用得是板子上的(处理器电平)TTL电平,不同的板子的TTL电平是不一样的。有5V,有3.3V,(这个和芯片的生产厂家有关系)。
抗干扰能力比较差——UART一般使用TTL电平表示0和1,TTL信号的抗干扰能力比较差,数据传输的过程中很容易出错。3米5米这样的距离都有可能出错。
232协议
232协议是一个标准,规定采用标准的连接器。
针对UART存在的问题,对接口(9针)和电平做了统一。
当电平在-5V—— -15V ——> 逻辑“1”;
电平在+5V ——+15V ——>逻辑“0”;
这样主要是出于电器上面的考虑。通信能力变强,可以达到15m。全双工,因此对写程序没有任何影响。
做项目用得比较多的就是RX TX GND,在电脑上之前被用过,后来被淘汰,现在就是在嵌入式里面用得稍微多一些。