無法傳送無法接收:
修改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實驗時,波特率不能設定太高!波特率越高,代表傳輸訊號頻率越高。相同的電纜,訊號頻率越高時,感...