stm32的GPIO之標準庫程式設計

2021-10-07 09:19:49 字數 1293 閱讀 9160

gpio_typedef和afio_typedef,在檔案「stm32f10x_map.h」中定義如下:

typedef

struct

gpio_typedef;

typedef

struct

afio_typedef;

gpio_inittypedef定義於檔案 「stm32f10x_gpio.h」 :

typedef

struct

gpio_inittypedef;

• gpio_pin

該引數選擇待設定的gpio管腳,使用操作符「|」可以一次選中

多個管腳。可以使用下表中的任意組合。

gpio_pin_none:無管腳被選中

gpio_pin_x:選中管腳x(0–15)

gpio_pin_all:選中全部管腳

• gpio_speed

用以設定選中管腳的速率。

gpio_speed_10mhz:最高輸出速率10mhz

gpio_speed_2mhz:最高輸出速率2mhz

gpio_speed_50mhz:最高輸出速率50mhz

• gpio_mode

用以設定選中管腳的工作狀態。

gpio_mode_ain:模擬輸入

gpio_mode_in_floating:浮空輸入

gpio_mode_ipd:下拉輸入

gpio_mode_ipu:上拉輸入

gpio_mode_out_od:開漏輸出

gpio_mode_out_pp:推挽輸出

gpio_mode_af_od:復用開漏輸出

gpio_mode_af_pp:復用推挽輸出

• 一、配置gpio口

• 1. 使能管腳對應的gpio組時鐘

rcc_apb2periphclockcmd( gpiox, enable);

• 2. 定義乙個初始化結構體型的變數

gpio_inittypedef gpio_initstructure;

• 3. 對結構體變數的各成員賦值

gpio_initstructure.gpio_pin =;

gpio_initstructure.gpio_mode =;

gpio_initstructure.gpio_speed =;

• 4. 呼叫初始化函式,初始化gpio

gpio_init(gpio_pin_n, &gpio_initstructure);

• 二、在主函式中,呼叫gpio函式程式設計。

stm32之GPIO的理解

寫這個部落格著重縷清自己的思路,對基礎的東西有個更好的理解。gpiox crh 與gpiox crl 可以配置gpio的各種模式,進行初始化。gpiox bsrr 32位暫存器,可以寫入或清除1 0 gpiox idr 低16位暫存器,讀取io的電平 gpiox odr 低16位暫存器,寫入io的電...

初始STM32標準庫

庫檔案一開始包含五個檔案 htmresc libraries project utilities stm32f10x stdperiph lib um.chm下面一一介紹 裡邊只有兩張,一張cmsis的logo,另一張是st的logo 裡邊是st官方實驗板的例程,目前不會用到。這個是庫幫助文件,我們...

STM32的bootloader IAP程式設計

不需要拆機就能對產品進行 韌體公升級 是很多人想要的效果,不僅方便而且節省精力和成本。那麼如何完成這項工作呢?接下來所介紹的 bootloader 就可以完成這項工作,通過 bootloader 引導程式完成韌體的公升級。下面來 stm32 bootloader 設計。首先談談stm32的isp和i...