4種輸入模式
4種輸出模式 (帶上拉或者下拉)
浮空輸入
推挽輸出
上拉輸入
復用式推挽輸出
下拉輸入
開漏輸出
模擬輸入
復用式開漏輸出
浮空輸入模式下,i/o埠的電平訊號直接進入輸入資料暫存器。mcu直接讀取i/o口電平,i/o的電平狀態是不確定的,完全由外部輸入決定;如果在該引腳懸空(在無訊號輸入)的情況下,讀取該埠的電平是不確定的。 一般多用於外部按鍵輸入
io內部接上拉電阻,此時如果io口外部沒有訊號輸入或者引腳懸空,io口預設為高電平 如果i/o口輸入低電平,那麼引腳就為低電平,mcu讀取到的就是低電平
io內部接下拉電阻,此時如果io口外部沒有訊號輸入或者引腳懸空,io口預設為低電平 如果i/o口輸入高電平,那麼引腳就為高電平,mcu讀取到的就是高電平
輸出端相當於三極體的集電極,要得到高電平狀態需要上拉電阻才行,適合於做電流型的驅動,其吸收電流的能力相對強(一般20ma以內)
io輸出0接gnd,io輸出1,懸空,需要外接上拉電阻,才能實現輸出高電平。當輸出為1時,io口的狀態由上拉電阻拉高電平
在推挽輸出模式時,n-mos管和p-mos管都工作,如果我們控制輸出為0,低電平,則p-mos管關閉,n-mos管導通,使輸出低電平,i/o埠的電平就是低電平,若控制輸出為1 高電平,則p-mos管導通n-mos管關閉,使輸出高電平,i/o埠的電平就是高電平, 外部上拉和下拉的作用是控制在沒有輸出時io口電平
此時施密特觸發器是開啟的,即輸入可用,通過輸入資料暫存器gpiox_idr可讀取i/o的實際狀態。i/o口的電平一定是輸出的電平
推挽輸出輸出0-接gnd, io輸出1 -接vcc,讀輸入是未知的
推挽輸出和開漏輸出的區別
推挽輸出
開漏輸出
可以輸出強高低電平,連線數字器件
可以輸出強低電平,高電平得靠外部電阻拉高。輸出端相當於三極體的集電極. 需要外接上拉電阻,才能實現輸出高電平 合於做電流型的驅動,其吸收電流的能力相對強(一般20ma以內);在使用任何一種開漏模式時,都需要接上拉電阻,否則只能輸出低電平
推挽輸出電路: 其中in端輸出高電平時下面的pnp三極體截止,而上面npn三極體導通,輸出電平vs+;當in端輸出低電平時則恰恰相反,pnp三極體導通,輸出和地相連,為低電平
開漏輸出電路:in端輸出低電平時,三極體導通,使輸出接地,in端輸出高電平時,三極體截止,所以引腳既不輸出高電平,也不輸出低電平,為高阻態。為正常使用時必須接上拉電阻
在stm32的應用中,除了必須用開漏模式的場合,我們都習慣使用推挽輸出模式。
輸出的高低電平的**於其它外設,施密特觸發器開啟,輸入可用,通過輸入資料暫存器可獲取i/o實際狀態 除了輸出訊號的**改變 其他與開漏輸出功能相同
可以理解為gpio口被用作第二功能時的配置情況(即並非作為通用io口使用)
可以理解為gpio口被用作第二功能時的配置情況(即並非作為通用io口使用)
本質上的區別是f4系列採用了cortex-m4核心 ,而f1系列採用cortex-m3核心
f1系列(m3)io口基本結構:
f4系列(m4)io口基本結構:
f4系列設計的更加高階與人性化,他將外部上下拉電阻轉移到了輸出/輸入驅動器外部,使得輸出模式下也可以實現內部上拉與下拉,方便了使用者的使用,增加了靈活性。
1、作為普通gpio輸入:根據需要配置該引腳為浮空輸入、帶弱上拉輸入或帶弱下拉輸入,同時不要使能該引腳對應的所有復用功能模組。
2、作為普通gpio輸出:根據需要配置該引腳為推挽輸出或開漏輸出,同時不要使能該引腳對應的所有復用功能模組。
3、作為普通模擬輸入:配置該引腳為模擬輸入模式,同時不要使能該引腳對應的所有復用功能模組。
4、作為內建外設的輸入:根據需要配置該引腳為浮空輸入、帶弱上拉輸入或帶弱下拉輸入,同時使能該引腳對應的某個復用功能模組。
5、作為內建外設的輸出:根據需要配置該引腳為復用推挽輸出或復用開漏輸出,同時使能該引腳對應的所有復用功能模組。
STM32的IO口的8種配置
1 stm32的輸入輸出管腳有下面8種可能的配置 4輸入 2輸出 2復用輸出 浮空輸入 in floating 帶上拉輸入 ipu 帶下拉輸入 ipd 模擬輸入 ain 開漏輸出 out od 推挽輸出 out pp 復用功能的推挽輸出 af pp 復用功能的開漏輸出 af od 1.1 i o口的...
STM32的IO口的8種配置
1 stm32的輸入輸出管腳有以下8種可能的配置 4輸入 2輸出 2復用輸出 浮空輸入 in floating 帶上拉輸入 ipu 帶下拉輸入 ipd 模擬輸入 ain 開漏輸出 out od 推挽輸出 out pp 復用功能的推挽輸出 af pp 復用功能的開漏輸出 af od 1.1 i o口的...
STM32的IO口的8種配置詳解
i o口的輸出模式下。有3種輸出速度可選 2mhz 10mhz和50mhz 這個速度是指i o口驅動電路的響應速度而不是輸出訊號的速度,輸出訊號的速度與程式有關 晶元內部在i o口 的輸出部分安排了多個響應速度不同的輸出驅動電路,使用者能夠依據自己的須要選擇合適的驅動電路 通過選擇速度來選擇不同的輸...