STM32cube 讀取其他芯片 開漏輸出引腳 的電平

有時候我們需要測量一個芯片的狀態引腳,讀取他的電平。

該引腳是開漏引腳。

首先要明白推輓和開漏的原理:

K1、K2相當於口線內接的MOS管,有開關兩個狀態。

推輓輸出:口線內接上下兩隻MOS管,K1打開、K2閉合時相當於口線接VCC,輸出高電平(輸出電流)。K1閉合、K2打開時相當於口線接GND,輸出低電平(吸入電流)。從電流角度看,口線即可輸出電流也可吸入電流,形如一推一拉,所以名曰“推輓”。

開漏輸出:口線內只接了一隻MOS管,口線外部可通過上拉電阻接VCC。K1閉合時,口線接地,輸出低電平。K1打開時,口線通過上拉電阻拉到高電平。此種形式,口線內接的MOS管漏極只通過口線將其引出,內部不接任何元件,是開路的,所以名曰“開漏”。

單片機的低電平就是地,“地”是整個電路里電位的最低點,口線接地其輸出的就是低電平了。

然後這時候我們來配置STM32 的引腳

因爲當該芯片的開漏引腳使能時候,該引腳內部開關閉合,引腳被拉低,所以當32的引腳檢測到低電平時侯,該芯片的引腳使能。

我們的代碼就可以這樣寫:

uint8_t pg= 0;
if (!HAL_GPIO_ReadPin(PG_GPIO_Port, PG_Pin)){
    	pg = 1;
    }

當檢測到這個開樓引腳使能時候,變量pg就會置1.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章