STM32之GPIO有啟發1

2021-08-04 13:44:40 字數 754 閱讀 5195

好了,大家可能接觸過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...