GPIO的整體構(gòu)造圖
1,在STM32中,所有GPIO都是掛在APB2這個總線上面的;
2,每個GPIO外設(shè),總共有16個引腳,編號是從0-15;
3,在每個GPIO模塊中,主要包括了寄存器和驅(qū)動器,寄存器就是一段特殊的寄存器,
內(nèi)核可以通過APB2總線對寄存器進行讀和寫,驅(qū)動器是用來增加信號的驅(qū)動能力;
4,其中輸出寄存器寫1,對應(yīng)的引腳就會輸出高電平,寫0,則輸出低電平;
5,輸入寄存器讀寫為1,則對應(yīng)端口的電平為高電平,讀取為0,則表示低電平;
6,GPIO的寄存器是16位的,高16位沒有用到;
GPIO端口位基本結(jié)構(gòu)(中文手冊106頁)
肖特基觸發(fā)器:施密特觸發(fā)器是對輸入電壓進行整形
位設(shè)置清除寄存器:可以單獨控制輸出端口的某一位,不影響其他位
輸出數(shù)據(jù)寄存器:需要用&=或者!=的方式更改其中的某一位
片上外設(shè):相當于51中的按位尋址
推挽模式:P-MOS和N-MOS都有效,數(shù)據(jù)寄存器為1時,上管導(dǎo)通,下管斷開,輸出直接接到VDD,也就是輸出高電平;
數(shù)據(jù)寄存器為0時,上管斷開,下管導(dǎo)通,輸出直接接到VSS,也就是輸出低電平;這種模式高低電平都有較強的驅(qū)動能力,
所以推挽模式也可以叫做強推輸出模式,在這種模式下,stm32對IO口有絕對的控制權(quán),高低電平都由STM32說了算。
開漏模式:P-MOS無效,只有N-MOS有效,數(shù)據(jù)寄存器為1時,下管斷開,這時輸出相當于斷開,也就是高阻模式;數(shù)據(jù)寄存器為0時,下管導(dǎo)通,輸出直接接到VSS,也就是輸出為低電平,這種模式下也只有低電平有驅(qū)動能力,高電平時沒有驅(qū)動能力的;
關(guān)閉模式:當引腳用于輸入模式的時候,這兩個MOS管都無效,也就是輸出關(guān)閉,端口的電平由外部來控制;
GPIO的八種工作模式
(2) GPIO_Mode_IN_FLOATING 浮空輸入
(3) GPIO_Mode_IPD 下拉輸入
(4) GPIO_Mode_IPU 上拉輸入
(5) GPIO_Mode_Out_OD 開漏輸出
(6) GPIO_Mode_Out_PP 推挽輸出
(7) GPIO_Mode_AF_OD 復(fù)用開漏輸出
如下是點動小燈
-
驅(qū)動器
+關(guān)注
關(guān)注
52文章
8099瀏覽量
145817 -
寄存器
+關(guān)注
關(guān)注
31文章
5294瀏覽量
119816 -
STM32
+關(guān)注
關(guān)注
2264文章
10854瀏覽量
354299 -
施密特觸發(fā)器
+關(guān)注
關(guān)注
3文章
234瀏覽量
25765 -
GPIO
+關(guān)注
關(guān)注
16文章
1188瀏覽量
51836
發(fā)布評論請先 登錄
相關(guān)推薦
評論