目錄
一、結構體介紹
二、原理
1、保護二級管
2、上下拉電阻
3、P-MOS 和 N-MOS 管
4、輸出資料暫存器
5、復用功能輸出
6、輸入資料暫存器
7、復用輸入功能
8、模擬輸入輸出模式
一、結構體介紹
typedef enum
{ GPIO_Mode_AIN = 0x0, 模擬輸入 ADC采集的通道
GPIO_Mode_IN_FLOATING = 0x04, 浮空輸入 電平狀態不確定
GPIO_Mode_IPD = 0x28, 下拉輸入 低電平
GPIO_Mode_IPU = 0x48, 上拉輸入 高電平
GPIO_Mode_Out_OD = 0x14, 開漏輸出 低電平
GPIO_Mode_Out_PP = 0x10, 推挽輸出 高電平
GPIO_Mode_AF_OD = 0x1C, 復用開漏輸出 低電平
GPIO_Mode_AF_PP = 0x18 復用挽輸出 高電平
}GPIOMode_TypeDef;
二、原理

1、保護二級管
- 保護引腳,防止引腳外部過高或過低的電壓輸入,以保護芯片不被啥訓,
- 當引腳電壓高于VDD或VDD_FF時,上方二極管導通吸收此高電壓,
- 當引腳電壓低于VSS時,下方二級管導通吸收此不正常電壓,
-
STM32 引腳是用來做控制,而不是做驅動使用的,
2、上下拉電阻
- 上下拉電阻都接有一個開關,通過配置開關的狀態,可以控制引腳的默認電平,
- 閉合連接上拉電阻的開關,引腳為高電平,(上拉輸入模式)
- 閉合連接下拉電阻的開關,引腳為低電平,(下拉輸入模式)
- 斷開連接上下拉電阻的開關,引腳電壓不確定(浮空輸入模式)
- STM32 上下拉及浮空模式的配置是通過 GPIOx_CRL 和 GPIOx_CRH 暫存器控制的
3、P-MOS 和 N-MOS 管
- GPIO 引腳經過兩個保護二極管后就分成兩路,上面一路是“輸入模式”, 下面一路是“輸出模式”,
- 開漏輸出:輸入一個低電平,P-MOS管截止、N-MOS導通,對外輸出一個低電平(0V),
- 推挽輸出:輸入一個高電平、P-MOS管導通、N-MOS管截止,對外輸出高電平(3.3V),
4、輸出資料暫存器
5、復用功能輸出
6、輸入資料暫存器
- 輸入資料暫存器是由 IO 口經過上下拉電阻、施密特觸發器引入,
- 當信號經 過觸發器,模擬信號將變為數字信號 0 或 1,然后存盤在輸入資料暫存器中,
- 通 過讀取輸入資料暫存器 GPIOx_IDR 就可以知道 IO 口的電平狀態,

7、復用輸入功能
- 使用GPIO引腳的第二個功能,非默認功能的輸入,
- GPIO 引 腳的信號傳輸到 STM32 其他片上外設,由該外設讀取引腳的狀態,
8、模擬輸入輸出模式
- 當 GPIO 引腳用于 ADC 采集電壓的輸入通道時,用作“模擬輸入”功能,
- 此時信號是不經過施密特觸發器的,因為經過施密特觸發器后信號只有 0、1 兩 種狀態,
- ADC 外設要采集到原始的模擬信號,信號源輸入必須在施密特觸發器之前,
- 當 GPIO 引腳用于 DAC 作為模擬電壓輸出通道時,此時作為“模 擬輸出”功能,
- DAC 的模擬信號輸出就不經過雙 MOS 管結構了,模擬信號直接 通過管腳輸出,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/330416.html
標籤:其他
