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