好了,大家可能接觸過51微控制器,但是再接觸stm32後就感覺gpio不像以前那樣了,不要迷惑,為什麼要一樣呢,它又不是51。
那gpio得內部結構圖我覺得就沒有必要看了,咱就單從功能層面來了解吧(原因之一本人對電路不是很來電)
gpio集中模式如下:
現在每種模式都說一下也記不住(其實我也不全知道),以後學習用到再補充吧
常用的就是input floating和output push-pull
現在看下關於gpio的暫存器:
如果不用庫這些你必須得熟練使用,咱這使用庫只要先簡單了解下
這些暫存器在stm32f10x.h中有定義,我們看下
至於他們的功能去查資料手冊吧
用庫我們都知道,好多模組的配置都是使用結構體來完成的,那我們來看下gpio的模組的結構體(不包含afio)
我們只是列舉這乙個,另外的類似,gpio_speed和gpio_mode自己在stm32f10x_gpio.h中找吧
相應的模組在stm32f10x_***.h中查詢
void gpio_configuration(void)
看完不覺得少點東西嗎?確實是少了,配置時鐘時我們曾說過在使用乙個模組式要先開啟對應的時鐘
rcc_apb2periphclockcmd(rcc_apb2periph_gpiob,enable);
還有一點,stm32的gpio可以通過兩個暫存器進行位操作,在庫中也有相應的函式,我們將庫中與gpio相關的函式列在下邊
檢視以上的函式你就知道怎麼樣使用gpio了
stm32學習1之GPIO口
ps 使用的32型號是.stm32f407zgt 原本我是不打算繼續更32的,但是最近的做的一些東西需要用到arm。所以想想就複習一下32吧!畢竟當初學的也確實不咋地。32系列我不會用很官方的話來講,我會用自己的理解最粗暴直白的表達出來。有什麼錯誤歡迎指正,企鵝 918619587 首先我們解釋一下...
stm32之GPIO的理解
寫這個部落格著重縷清自己的思路,對基礎的東西有個更好的理解。gpiox crh 與gpiox crl 可以配置gpio的各種模式,進行初始化。gpiox bsrr 32位暫存器,可以寫入或清除1 0 gpiox idr 低16位暫存器,讀取io的電平 gpiox odr 低16位暫存器,寫入io的電...
STM32之GPIO輸入輸出
gpio的輸出 背景 應用在點亮led。led串聯電阻再上拉,另一端與gpio口相連。因此,gpio輸出高電平則led滅,輸出低電平則led亮。第一步工作是初始化gpio,使能外設時鐘,因為gpio是掛載在apb2中線上的。然後對gpio inittypedef結構體進行初始化,設定gpio pin...