STM32 關(guān)于GPIO的輸入輸出,8種超詳解釋

1.上下拉電阻的區(qū)別:
上拉電阻:將一個(gè)不確定的信號(hào)(高或低電平),通過一個(gè)電阻與電源VCC相連,固定在高電平。
下拉電阻:將一個(gè)不確定的信號(hào)(高或低電平),通過一個(gè)電阻與地GND相連,固定在低電平。
共同點(diǎn):都是為了確定信號(hào)的高低電平,防止數(shù)字電路中不確定信號(hào)的存在。


2.輸入方式:
1.輸入上拉?(GPIO_Mode_IPU)
如下圖:信號(hào)輸入經(jīng)過上拉后又經(jīng)過觸發(fā)器(施密特)轉(zhuǎn)換成數(shù)字信號(hào)0、1讀取電平。

2.輸入下拉?(GPIO_Mode_IPD)
如下圖:信號(hào)輸入經(jīng)過下拉后又經(jīng)過觸發(fā)器(施密特)轉(zhuǎn)換成數(shù)字信號(hào)0、1讀取電平。

3.模擬輸入?(GPIO_Mode_AIN)
如下圖: 主要用作ADC/DAC信號(hào)的處理使用,不用經(jīng)過上下拉電阻也不用經(jīng)過觸發(fā)器。

4.輸入浮空?(GPIO_Mode_IN_FLOATING)
如下圖:主要用作?IIC,USART?通訊協(xié)議上,不經(jīng)過上下拉電阻,但是經(jīng)過觸發(fā)器

3.輸出方式:

1.開漏輸出?(GPIO_Mode_Out_OD)
如下圖:一般用在電平不匹配場(chǎng)合,需要外接上拉電阻,當(dāng)輸出高電平時(shí)會(huì)經(jīng)過反相器,到N-MOS截止,輸出端由上拉電阻將電平拉高。當(dāng)輸出低電平時(shí),N-MOS導(dǎo)通,輸出到地,輸出低電平。

2.開漏復(fù)用輸出?(GPIO_Mode_AF_OD)
如下圖:直接使用了復(fù)用功能輸出而非寄存器,同樣需要上拉電阻,主要提供引腳的第二功能配置等,可用作通IIC等。

3.推挽式輸出 (GPIO_Mode_Out_PP)
如下圖:輸出信號(hào)也是要經(jīng)過反相器,再經(jīng)過MOS管的上下來部分作用輸出;
當(dāng)輸出為高電平時(shí)反相器輸出低電平,P-MOS導(dǎo)通N-MOS截止,信號(hào)為上拉電阻影響所以輸出高電平。
當(dāng)輸出為低電平時(shí)反相器輸出高電平,N-MOS導(dǎo)通P-MOS截止,信號(hào)為下拉電阻影響所以輸出低電平。

4.推挽式復(fù)用輸出 (GPIO_Mode_AF_PP)
如下圖:直接使用復(fù)用功能輸出,主要用作引腳的第二功能進(jìn)行輸出,輸出同理上下拉。主要用作串口等。
如下圖:直接使用復(fù)用功能輸出,主要用作引腳的第二功能進(jìn)行輸出,輸出同理上下拉。主要用作串口等。

轉(zhuǎn)載聲明:本文為CSDN博主「Ryan菲特」的原創(chuàng)。阿酷只是轉(zhuǎn)載。
原文鏈接:https://blog.csdn.net/qq_41274292/article/details/124429574