新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > stm32 復(fù)位io默認(rèn)輸出

stm32 復(fù)位io默認(rèn)輸出

作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
看到手冊上說復(fù)位期間和復(fù)位后,I/O口是浮空輸入。
復(fù)位之后,是ODR的值。而ODR的值在復(fù)位后是0。這樣理解的話就是復(fù)位后是低電平吧?開漏或者推挽模式會怎么影響呢?
浮空的時候電平不受ODR控制.
開漏的時候,也不受ODR控制.
推挽的時候,受ODR控制.
所以,復(fù)位的時候,IO電平不高不低的,可能在1.6V左右.
浮空,顧名思義就是浮在空中,上面用繩子一拉就上去了,下面用繩子一拉就沉下去了.
開漏,就等于輸出口接了個NPN三極管,并且只接了e,b.c極是開路的,你可以接一個電阻到3.3V,也可以接一個電阻到5V,這樣,在輸出1的時候,就可以是5V電壓,也可以是3.3V電壓了.但是不接電阻上拉的時候,這個輸出高就不能實現(xiàn)了.
推挽,就是有推有拉,任何時候IO口的電平都是確定的,不需要外接上拉或者下拉電阻.
那推挽豈不是無敵了,缺陷呢?
比如你要輸出5V高電平,推挽就達(dá)不到。
開漏為什么不受ODR控制呢?
手冊:開漏模式:輸出寄存器上的’0’激活N-MOS,而輸出寄存器上的’1’將端口置于高阻狀態(tài)(P-MOS從不被激活)。
開漏不是不收ODR控制,還是受控,只是把上方的PMOS給禁止了,靠的是“外力”。



評論


技術(shù)專區(qū)

關(guān)閉