一、保護二極管:防止引腳外部輸入電壓太高or太低blog
二、 P-MOS 和 N-MOS 管:配置
推輓輸出:輸入高電平時,經反向,上方的 P-MOS 導通,下方的 N-MOS 關閉,對外輸出高電平;而輸入低電平時,反向,N-MOS管導通,P-MOS關閉,對外輸出低電平im
應用場合: 輸出電平爲0和 3.3V,須要高速切換開關狀態(自動切換狀態,不須要外接上下拉電阻)數據
開漏輸出:P-MOS 管徹底不工做。若是控制輸出爲 0,低電平,則 P-MOS 管關閉,N-MOS 管導通,使輸出接地;若控制輸出爲 1 (它沒法直接輸出高電平),則 P-MOS 管和 N-MOS 管都關閉,因此引腳既不輸出高電平,也不輸出低電平,爲高阻態。img
應用場合:( 外接上拉電阻),此時,高電平的電壓爲外部上拉電阻所接的電源的電壓。除了必須狀況,通常用推輓輸出。co
三、複用功能輸出:採集
從其它外設引出來的 「複用功能輸出信號」 與 GPIO 自己的數據據寄存器 都鏈接到雙 MOS 管結構的輸入中,經過梯形結構做爲開關切換選擇。工作
四、 輸入數據寄存器、模擬輸入數字
圖中上半部分,GPIO引腳通過內部的上、下拉電阻,能夠配置成上/下拉輸入,而後再鏈接到施密特觸發器,信號通過觸發器後,模擬信號轉化爲 0、1 的數字信號,而後存儲在「輸入數據寄存器 GPIOx_IDR」中,經過讀取該寄存器就能夠了解 GPIO引腳的電平狀態。ps
五、複用功能輸入
GPIO 引腳的信號傳輸到STM32其它片上外設,由該外設讀取引腳狀態。例如:USART接收數據:利用某個GPIO,配置成USART串口複用功能。
六、模擬輸入輸出
當 GPIO 引腳用於 ADC 採集電壓的輸入通道--模擬輸入
當 GPIO 引腳用於 ADC 採集電壓的輸出通道--模擬輸出