筆記寫入乙份到部落格裡,沒事還可以檢視一下,自己的也大致總結了一下自己對這個知識的理解
其實學習微控制器最先熟悉的無非就是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口,那...