串口通信的弊端
先來回顧一下串口通信(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電平受到了外界干擾,改變的電平還是在規(guī)定的電平范圍之內
RS232比串口更抗干擾,因此能傳輸的距離也就更遠
RS485
如果距離太遠了,都是1公里起步,這時就只能使用RS485通訊了
485的本質也是在串口中加上了485芯片
不同的是,485將輸入的TTL電路轉換為差分信號(用兩根線的差值來表示0和1),另外差分信號只需要2根線
當A>B,表示邏輯0
當A<B,表示邏輯1