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