電子工程網(wǎng)

標題: 關(guān)于STM32的幾種輸入模式以及外部中斷的配置 [打印本頁(yè)]

作者: xyd2018    時(shí)間: 2019-2-26 10:32
標題: 關(guān)于STM32的幾種輸入模式以及外部中斷的配置
要求:將連接按鍵的IO口配置為上拉輸入,按鍵一端接IO口,一端接地,即當按鍵按下后,該IO口會(huì )產(chǎn)生一個(gè)下降沿,觸發(fā)下降沿中斷。

問(wèn)題:將相應的IO口配置好后,測了引腳的的電壓,并不是3.3V左右,而是0.1V左右。于是猜想:
1. 外圍電路對IO口產(chǎn)生了影響。
2. STM32內部上拉能力較弱,一次只能上拉一個(gè)IO口。

于是開(kāi)始從這兩個(gè)想法著(zhù)手解決。首先第一個(gè),很容易就排除了。將外圍電路撤掉,我用的是杜邦線(xiàn),直接拔掉測量引腳上的電壓,依然是0.1V左右,于是第1個(gè)猜想排除。

第二個(gè),查看萬(wàn)能的參考手冊,發(fā)現每一個(gè)IO口都是有獨立的驅動(dòng)電路,這樣第2個(gè)也排除了。

最后各種糾結,然后發(fā)現:在主函數的開(kāi)頭部分初始化的時(shí)候,我把初始化的那個(gè)函數給注釋掉了。低級錯誤,見(jiàn)笑了。

現在總結一下:
STM32的輸入有4種輸入模式:
模擬輸入 GPIO_AIN
用于A(yíng)D轉換
浮空輸入 GPIO_IN_FLOATING

引腳處于浮空模式,電平狀態(tài)是不確定的。外部信號輸入什么,IO口就是什么狀態(tài)。

上拉輸入 GPIO_IPU
防止IO口出現不確定的狀態(tài),比如,當IO口懸空時(shí),就會(huì )通過(guò)內部的上拉電阻將該點(diǎn)鉗位在高電平。

下拉輸入 GPIO_IPD
功能與上拉電阻類(lèi)似,防止IO口出現不確定的狀態(tài),比如,當IO口懸空時(shí),就會(huì )通過(guò)內部的下拉電阻將該點(diǎn)鉗位在低電平。

STM32中空的I/O管腳是高電平還是低電平取決于具體情況。

1、IO端口復位后處于浮空狀態(tài),也就是其電平狀態(tài)由外圍電路決定。

2、STM32上電復位瞬間I/O口的電平狀態(tài)默認是浮空輸入,因此是高阻。做到低功耗。

3、STM32的IO管腳配置口默認為浮空輸入,把選擇權留給用戶(hù),這是一個(gè)很大的優(yōu)勢:一方面浮空輸入確保不會(huì )出現用戶(hù)不希望的默認電平(此時(shí)電平取決于用戶(hù)的外圍電路);另一方面降低了功耗,因為不管是上拉還是下拉都會(huì )有電流消耗。從另一個(gè)角度來(lái)看,不管I/O管腳的默認配置如何,還是需要在輸出的管腳外加上拉或下拉,這是為了保證芯片上電期間和復位時(shí)輸出的管腳始終處于已知的電平。

4、在沒(méi)有任何操作的情況下,STM32通用推挽輸出模式的引腳默認低電平,也就是有電的狀態(tài)。所以在配置的時(shí)候通常會(huì )先把引腳的電平設置拉高,讓電路不產(chǎn)生電流。有電到?jīng)]電這一過(guò)程也就是引腳電平從低到高的過(guò)程。

5、STM32的I/O管腳有兩種:TTL和CMOS,所有管腳都兼容TTL和CMOS電平。也就是說(shuō)從輸入識別電壓上看,所有管腳不管是TTL管腳還是CMOS管腳都可以識別TTL或CMOS電平。
免費試聽(tīng)C語(yǔ)言、電子、PCB、STM32、Linux、FPGA、Python等。想學(xué)習的你和我聯(lián)系預約就可以免費聽(tīng)課了宋工Q3/5/2/4/6/5/9/0/8/8   Tel/WX:1/7/3/1/7/9/5/1/9/0/8







歡迎光臨 電子工程網(wǎng) (http://selenalain.com/) Powered by Discuz! X3.4
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页