前言
? ? ? ? 配置GPIO口是我們軟件開(kāi)發(fā)中必須要掌握的,每個(gè)模式的作用效果也是需要清楚的。如果連gpio應(yīng)該配置成什么模式都不懂,是無(wú)法進(jìn)行后面的開(kāi)發(fā)的。
1. 輸入模式
1.1? 浮空輸入模式
I/O端口的電平信號(hào)進(jìn)入輸入數(shù)據(jù)寄存器。I/O的電平狀態(tài)是不確定的(高阻態(tài)),完全由外部輸入決定。
其中TTL施密特觸發(fā)器的作用是整形作用(正弦波整成方波),將輸入的信號(hào)以邏輯“0”或者“1”的形式呈現(xiàn)給IDR(輸入數(shù)據(jù)寄存器)。
1.2? 上拉輸入模式
打開(kāi)內(nèi)部上拉功能,在I/O端口懸空(在無(wú)信號(hào)輸入)的情況下,輸入端的電平可以保持在高電平。
1.3? 下拉輸入模式
打開(kāi)內(nèi)部下拉功能,在I/O端口懸空(在無(wú)信號(hào)輸入)的情況下,輸入端的電平可以保持在低電平。
?1.4? 模擬輸入模式
I/O端口的模擬信號(hào)(電壓信號(hào))直接模擬輸入到片上外設(shè)模塊,比如ADC、DAC等。
2. 輸出模式
輸出模式的通斷由輸出驅(qū)動(dòng)器控制,其中的P-MOS、N-MOS管部分電路可以等效成右圖所示電路。
N-MOS管:Ug > Us時(shí)導(dǎo)通,Ug = Us = 0V時(shí)截止;
P-MOS管:Ug < Us時(shí)導(dǎo)通,Ug = Us = 0v時(shí)截止。
下圖所示,P-MOS管的S極接vdd,所以P-MOS管要導(dǎo)通,G極電壓就要小于S極,所以G極低電平的時(shí)候P-MOS管導(dǎo)通;
N-MOS管S極接vss(地為0v),N-MOS管要導(dǎo)通,G極電壓就要大于S極,所以G極高電平的時(shí)候N-MOS管導(dǎo)通;
2.1? 開(kāi)漏輸出模式
開(kāi)漏輸出模式下,TTL施密特觸發(fā)器是開(kāi)啟的,可以讀取I/O口的狀態(tài);
P-MOS管G極接vdd處于高電平,始終不工作、導(dǎo)通;
N-MOS管G極輸出一個(gè)低電平(輸出電平信號(hào)從ODR輸出數(shù)據(jù)寄存器中得來(lái))的時(shí)候,N-MOS管導(dǎo)通工作,G極輸出高電平時(shí),N-MOS管不導(dǎo)通,這個(gè)時(shí)候I/O的電平狀態(tài)是不確定的,這就是為什么配置為開(kāi)漏輸出后,無(wú)法控制為高電平,需要外接一個(gè)上拉電阻,使I/O口處于高電平。
2.2? 復(fù)用開(kāi)漏輸出模式
此模式與開(kāi)漏輸出的區(qū)別就是,它的輸出端來(lái)自①處的復(fù)用功能輸出,例如I/O配置為uart、i2c等復(fù)用功能;電路工作原理同開(kāi)漏輸出模式一樣。
2.3? 推挽輸出模式
推挽輸出模式下,TTL施密特觸發(fā)器也是開(kāi)啟的,IDR中可以讀取到I/O口的狀態(tài);
兩個(gè)MOS管的G極處接有一個(gè)反向器,當(dāng)ODR(輸出數(shù)據(jù)寄存器)中輸出邏輯“0”信號(hào)時(shí),經(jīng)控制電路的反向器輸出邏輯“0”信號(hào)到MOS管,上面已經(jīng)分析了,P-MOS管G極輸出邏輯“0”信號(hào)導(dǎo)通,N-MOS管G極輸出邏輯“1”信號(hào)導(dǎo)通。所以綜上就可以總結(jié)為:ODR輸出“0”,N-MOS管導(dǎo)通,I/O口連接VSS輸出為低電平;ODR輸出“1”,P-MOS管導(dǎo)通,I/O口連接VDD輸出為高電平;
推挽輸出模式的驅(qū)動(dòng)能力也是比較強(qiáng)的。
?2.4? 復(fù)用推挽輸出模式
此模式與推挽輸出模式唯一不同的就是輸出端接的是①處的復(fù)用功能輸出,其它功能原理都一樣
????,例如I/O配置為uart、i2c、spi等復(fù)用功能。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-535605.html
雞湯向
? ? ? ? 在現(xiàn)如今浮躁的社會(huì)風(fēng)氣下,我們更應(yīng)該沉住氣,靜下心來(lái)去思考,不斷的去提升自己,而不是五花八門(mén)的,一時(shí)一個(gè)想法。繁華中自律~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-535605.html
到了這里,關(guān)于一篇讓你完全弄懂GPIO的8種配置模式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!