STM32學習之 GPIO最簡單操作步驟

2021-08-13 19:07:31 字數 1168 閱讀 6965

需用到的".c"庫函式為 stm32f10x_gpio.c 和stm32f10x_rcc.c

1.  啟動相應port x的rcc(復位始終控制)

rcc_apb2periphclockcmd(rcc_apb2periph_gpiox, enable);

x可以是a到g , gpio都由apb2(高速外設)時鐘控制

2.  gpio初始結構中的三個引數賦值(該結構名需程式前定義:"gpio_inittypedef  gpio_initstructure;")

三個引數分別為

引腳:gpio_initstructure.gpio_pin=gpio_pin_6|gpio_pin_7|gpio_pin_8|gpio_pin_9|gpio_pin_10;

速度:gpio_initstructure.gpio_speed=gpio_speed_2mhz;

模式:gpio_initstructure.gpio_mode=gpio_mode_out_pp;

三個引數的取值可查《韌體函式庫》

3.  用gpio初始化函式  gpio_init(gpiox,&gpio_initstructure) ,將前面賦完值的結構定義到port x上

x可以是a到g;

4.  接著即可用gpio_resetbits(gpiox,gpio_pin_y) 函式將引腳置0 

或  用gpio_setbits(gpiox,gpio_pin_y) 函式將引腳置1

x可以是:a到f;

y可以是:0到15;多個可用" | "隔開,如:gpio_pin_7|gpio_pin_8|gpio_pin_9

5.  也可以用gpio_readinputdatabit(gpiox,gpio_pin_y)函式讀取輸入引腳的值

或 用gpio_readoutputdatabit(gpiox,gpio_pin_y)函式讀取輸出引腳的值

x可以是:a到f;

y可以是:0到15;多個可用" | "隔開,如:gpio_pin_7|gpio_pin_8|gpio_pin_9

注:a)讀取整個port 值的函式為gpio_readinputdata(gpiox)和gpio_readoutputdata(gpiox)

b)寫整個port 值的函式為gpio_write(gpiox,數值)

c)一般按前3步啟動後,被設定的gpio引腳都會被置0(低電平)

stm32學習筆記 GPIO

2011 03 06 15 10 stm32基本上每個引腳都有8種配置模式 浮空輸入 帶弱上拉輸入 帶弱下拉輸入 模擬輸入 推挽輸出 開漏輸出 復用推挽輸出 復用開漏輸出 通常有5種方式使用某個引腳功能,它們的配置方式如下 1 作為普通gpio輸入 根據需要配置該引腳為浮空輸入 帶弱上拉輸入或帶弱下...

STM32學習筆記 GPIO

該微控制器在gpio功能方面有以下特點 1 4種輸入模式 gpio mode ain 模擬輸入 gpio mode in floating 浮空輸入 gpio mode ipd 下拉輸入 gpio mode ipu 上拉輸入 2 4種輸出模式 gpio mode out od 開漏輸出 gpio m...

stm32學習筆記之GPIO配置

1 gpio mode ain 模擬輸入 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 mod...