在 stm32中選用 io 模式
(1) 浮空輸入 _in_floating —— 浮空輸入,可以做 key 識別, rx
(2)帶上拉輸入 _ipu—— io 內部上拉電阻輸入
(3)帶下拉輸入 _ipd—— io內部下拉電阻輸入
(4) 模擬輸入 _ain —— 應用 adc 模擬輸入,或者低功耗下省電
(5)開漏輸出 _out_od —— io 輸出 0接 gnd , io 輸出 1,懸空,需要外接上拉電阻,才能 實現輸出高電平。當輸出為 1時, io 口的狀態由上拉電阻拉高電平,但由於是開漏輸出模式, 這樣 io 口也就可以由外部電路改變為低電平或不變。 可以讀 io 輸入電平變化, 實現 c51的 io 雙向功能
(6)推挽輸出 _out_pp —— io 輸出 0-接 gnd , io 輸出 1 -接 vcc ,讀輸入值是未知的
(7)復用功能的推挽輸出 _af_pp —— 片內外設功能(i2c 的 scl,sda )
(8)復用功能的開漏輸出 _af_od—— 片內外設功能(tx,mosi,miso,clk,nss )
stm32設定例項:
(1)模擬 i2c 使用開漏輸出 _out_od,接上拉電阻,能夠正確輸出 0和 1;讀值時先
gpio_setbits(gpiob, gpio_pin_0);拉高,然後可以讀 io 的值;使用
gpio_readinputdatabit(gpiob,gpio_pin_0);
(2)如果是無上拉電阻, io 預設是高電平;需要讀取 io 的值,可以使用帶上拉輸入 _ipu和 浮空輸入 _in_floating和開漏輸出 _out_od;
STM32基礎 IO 簡介
stm32 的 io 採用分組管理 gpioa gpiob 每組 16 個 io 對應的列舉型別定義 typedef enumgpiomode typedef 每個 io 口可以自由程式設計,但 io 口暫存器必須要按 32 位字被訪問。void gpio init gpio typedef gpi...
STM32啟動模式
stm32三種啟動模式對應的儲存介質均是晶元內建的,它們是 1 使用者快閃儲存器 晶元內建的flash。2 sram 晶元內建的ram區,就是記憶體啦。3 系統儲存器 晶元內部一塊特定的區域,晶元出廠時在這個區域預置了一段bootloader,就是通常說的isp程式。這個區域的內容在晶元出廠後沒有人...
stm32啟動模式
1.實驗環境 野火stm32指南者 stm32f103vet6 使用者快閃儲存器 晶元內建的flash。正常的工作模式。sram 晶元內建的ram區,就是記憶體。可以用於除錯。系統儲存器 晶元內部一塊特定的區域,晶元出廠時在這個區域預置了一段bootloader,就是通常說的isp程式。這個區域的內...