cubuide RS485問題排查

2021-10-17 10:28:45 字數 563 閱讀 8584

無法傳送無法接收:

修改printf函式,讓資料可以傳送定位到指定串列埠

int

__io_putchar

(int ch)}if

((hal_uart_transmit

(&huart1,

(uint8_t *

)&ch,1,

5000))

!= hal_ok)

rs485a_rec()

;return ch;

}

測量485的r端發現電平為5v,但是微控制器使用的是stm32l433系列,電壓為3.3v,而查詢手冊後發現,該管腳為ft管腳,可以支援5v(低功耗情況下不要這麼作,功耗大的要命)

示波器檢查485晶元的輸入輸出使能發現5v電沒供上,但是還是有2.5v的電壓(這裡告誡我以後要斷電就統一斷,不能留下輸入輸出訊號線還依舊通著電)

示波器檢查晶元波形沒問題

回歸程式串列埠接收部分,發現串列埠接收使能函式沒有在程式開始呼叫。

加上,但是位置放的太靠前了,比串列埠初始化還靠前,不頂用。

放在後面,ok成功出數

RS 485半雙工延時問題

學習485匯流排時,遇到延時問題,困擾很久。通過學習知道了485半雙工收發時必須延時,以保證系統的穩定性 可靠性。好多資料都介紹了485 防靜電 抗干擾電路。惟獨沒提 每一幀收發停止位 或第9位 的延時和 半雙工匯流排收發切換延時 問題。我覺得在半雙工狀態下 485 幀的收發和 匯流排的收發狀態切換...

485之隔離電源引起的問題

最近乙個專案的485部分出現問題,最終發現時由於電源系統造成的,情況如下 原因分析 1 剛開始想到可能是ttl的參考地問題所以就跳了地線,結果可以收發,但過幾分鐘系統就宕機。2 後來將金昇陽的dc dc拆掉,直接引用匯流排隔離晶元後端的電源盒地,木有再出現宕機。總結 在做通訊的時候要注意,訊號線的參...

RS485波特率問題

最近再做乙個專案,發現485不能傳送資料,感到非常奇怪!後來查閱相關資料才發現可能是 485波特率設定過高 我設定的485波特率是115200 後來把波特率改小一點,改成9600 結果就能正常通訊了!做485實驗時,波特率不能設定太高!波特率越高,代表傳輸訊號頻率越高。相同的電纜,訊號頻率越高時,感...