問題描述:測試
最近碰到一個問題,stm32用485輸出,可是隻有輸出,輸入的數據stm32接收不到:it
測試描述:數據
測試485的dir口是 3.3v,懸空的話通常引腳電平是0或1電平;dir接的stm32的PC6,PC6用GPIO_ResetBits()設置的低電平di
然而接上去以後呢,測量的是3.3v,所以板子只能發送,不能接收時間
解決方案:解決方案
檢查了以後發現PC6-9沒有初始化,怎麼辦呢,因此我就初始化推輓輸出,也叫下拉輸出,開漏輸出是上拉輸出,
推輓輸出:內部給個0,至關於接GND,給個1至關於接VCC
開漏輸出:內部給0,接GND,給1的話須要外接上拉電阻才能爲1
而後就這樣解決了,可是有個問題是輸出的少了一個字節,而後我就延遲一個字節時間吧dir置0;
its over,其實不少問題想一想就知道怎麼回事了,多動動腦子,和聰明人玩玩,這樣就會變得更加聰明。