STM32中對GPIO的配置與使用

2021-08-02 04:27:24 字數 1249 閱讀 7918

筆記寫入乙份到部落格裡,沒事還可以檢視一下,自己的也大致總結了一下自己對這個知識的理解

其實學習微控制器最先熟悉的無非就是i/o口的操作。stm32的gpio也好理解,就8種模式。了解什麼功能使用什麼模式,怎麼配置就可以了。廢話不多說,了解一下gpio口吧。學習時大家應該都有資料,我就不多貼資料了,下圖是gpio(stm32f10x)的電路圖。(51的i/o口不需要配置,電平輸送不但簡單,而且不能像gpio整合各種協議一起使用,如spi,spi協議後面也會介紹)

我大致將配置模式介紹一下,並將使用該模式的功能也對應一下

輸入模式:(相對mcu)

1. 浮空--外部輸入何種電平,該引腳就是何種電平。       結構體模式配置:gpio_mode_in_floating    

2.上拉--顧名思義,接vdd的開關開啟,接上上拉電阻。   結構體模式配置:gpio_mode_ipu    (在我的開發板上,key1,key2,key3外接gnd, 所以這裡使用上拉,紅外置收也使用到)

3.下拉--接vss的開關開啟,接上下拉電阻。    結構體模式配置:gpio_mode_ipd                          (而key_up外接3.3v,所以這裡用下拉)

4.模擬輸入--io埠的資料直接進入adc模組。  結構體模式配置:gpio_mode_ain                    (dac,adc資料採集就要用到)

輸出模式:(相對mcu)

1.開漏輸出:mcu可以向io埠寫「0」。寫「1」時由外部電路決定,例如上拉則為1,下拉則為0.  輸入暫存器可以讀取io埠的電平值。  結構體模式配置:gpio_mode_out_od

2.開漏復用:與開漏輸出差不多,由mcu控制轉由外設模組控制而已。 結構體模式配置:gpio_mode_af_od

3.推挽式輸出:mcu向i/o埠可寫「0」寫「1」。類似51的io操作。使用較多 。  結構體模式配置:gpio_mode_out_pp  (對於直接連線的就用這個了,數碼管,蜂鳴器等)

4.推挽式復用功能:  向i/o埠寫「0」寫「1」的 功能交給外設模組而已。使用也多。 結構體配置:gpio_mode_af_pp  (pwm,uasrt,tft,spi,dma..使用外設都要使用)

void led_init()    

其他內容會貼在部落格上,回顧一下

STM32中的GPIO筆記

1.gpio是stm32可控制的引腳,stm32的gpio被分成很多組,每組有16個引腳。每個gpio埠包含 2個32位配置暫存器 crl crh 2個32位資料暫存器 idr odr 1個32位復位暫存器 bsrr 1個16位復位暫存器 brr 和1個32位鎖定暫存器。2.gpio埠的每個位可以配...

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...

STM32自學筆記(一)GPIO配置與使用

由於是stm32學習的第乙個章節,會囉嗦一些,旨在幫助和我一樣剛接觸stm32時一頭霧水的朋友,更好地理解 學會它。很多學過51,剛開始學stm32的朋友可能會和我一樣十分不適應,在我看來,stm32與51 最大的區別在於,stm32幾乎所有外設都要進行配置過後才能使用,比如說你想操作乙個io口,那...