當前位置:編程學習大全網 - 編程軟體 - stm32 做rs485通信,MCU可以接收數據,但不能發數據?stm32 做rs485通信,MCU可以接收數據,但不能發數據

stm32 做rs485通信,MCU可以接收數據,但不能發數據?stm32 做rs485通信,MCU可以接收數據,但不能發數據

問題能不能具體點?是完全沒有接收數據還是接收數據是錯誤的?RS485通訊編程要註意TX/RX切換的時間點。如果切換時間點不合適就會導致沒數據或者數據收發錯誤,妳用的是單片機的uart來實現數據收發,這就要註意uart的發送完畢的狀態標誌不壹定表明uart硬件已經萬萬完全發完電平信號,很可能數據還在uart的發送寄存器中進行某個位信號的發送,這個時候妳切換了RS485芯片的TX/RX狀態,那麽就會導致數據發送不出去。因此由RX切換到TX狀態時候要延時1ms左右(具體看硬件)再使能uart發送,當檢測到uart發送完畢狀態標誌後也要延時幾個ms(根據波特率和妳設置的發送數據格式,大概計算發送8位數據+2個停止位+1個校驗位所需時間),這樣就可以避免數據沒有發完的情況了。

廣州騰霄電子的iRS-485HT隔離485收發模塊,完整集成,無需額外器件,單5V供電即可實現2500V隔離和115.2kpbs的通訊速率,模塊自帶上下拉線電阻和TVS器件保護。

  • 上一篇:980t數控編程
  • 下一篇:C語言編程求矩陣的下三角之和,要有代碼的,謝謝
  • copyright 2024編程學習大全網