對於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的談論。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM