STM32 GPIO簡單介紹

2021-08-17 19:46:05 字數 1936 閱讀 5965

2018/3/28

stm32

1.簡單配置暫存器環境

2.ministm32f103rc(51個io口)

1.擁有著4組io口:

gpioa0~a15;

gpiob0~b15;

gpioc0~c15;

gpiod0~d2;

2.gpio的工作方式:四種輸入模式,四種輸出模式

輸入方式

1.輸入浮空模式:由引腳直接進入輸入資料暫存器

2.輸入上拉模式:存在上拉電阻(vdd約為30k到50k)

3.輸入下拉模式:存在下拉電阻(vss約為30k到50k)

4.模擬模式:不輸入電平,輸入電壓

輸出方式:

1.開漏輸出方式:輸出訊號由cpu提供,但是只能提供低電平,輸出低電阻(n_mos半導體被拉低,不能輸出1,除非提供上拉電阻)

2.推挽輸出方式:輸出訊號由cpu提供,可以提供高電平和低電平,輸出1則顯示1,輸出0則顯示0;

3.復位開漏輸出方式:輸出訊號由外界模組實現,輸出低電阻(n_mos半導體被拉低,不能輸出1,除非提供上拉電阻)

4.復位推挽方式:輸出訊號由外界模組實現,可以提供高電平和低電平,輸出1則顯示1,輸出0則顯示0;

總結:

推挽輸出方式:可提供強高低電平,連線數位電路

開漏輸出方式:只可以提供低電平

但是為什麼要使用開漏輸出方式呢? 

因為可以做電流型驅動,吸收電流的能力相對較強  

3.stm32f1x暫存器

1.兩個32位配置暫存器(gplox_crl.gplox_crh)

用來配置相應的i/o口(注意用32位系統)

高16位和低16位配置方法一置

2.兩個32位資料暫存器(gpiox_idr)(輸入資料暫存器)

使用低16位輸入,輸出資料

3.乙個32位置位/復位暫存器(gpio_bsrr)

1.bry使用0無影響,清除對應odry為0(高16位)

2.bsy使用0無影響,設定對應odry為1(低16位)

4.埠位清除暫存器(gpiox_brr)

1.使用低16位,bry設為0,無效,bry設為1,清除對應的odry為0

5.埠配置鎖定暫存器(gpiox_lckr)

1.低15位

設定0:不鎖定埠設定

設定1:鎖定埠設定

2.16位:

0:埠配置鎖鍵位啟用

1:埠配置鎖鍵位啟用

STM32GPIO部分介紹

最近在老師交給了乙個專案,需要用到stm32微控制器,這裡就在學習的過程中所注意到的一些地方或細節部分記錄了下來,筆者所使用的是stm32f407zgt6晶元 探索者 檢視晶元的資料手冊 這個 對每個i o口的功能進行了很詳細的介紹。每個i o除了作為i o使用外,還可以作為其他的復用。已以pe2口...

STM32 GPIO模式總結

4種輸入模式 浮空輸入 上拉輸入 下拉輸入 模擬輸入 4種輸出模式 開漏輸出 復用開漏輸出 推挽輸出 復用推挽輸出 3種最大輸出速度 2mhz 10mhz 50mhz 浮空輸入模式 1 外部通過io口輸入電平,外部電平通過上下拉部分 浮空模式下都關閉,既無 上拉也無下拉電阻 2 傳輸到施密特觸發器 ...

STM32 GPIO管腳特性

剛剛接觸stm32,一點小意外,記錄一下問題該點 gpio port input data register gpiox idr gpio資料接收暫存器 檢測管腳輸入高低電平,僅在管腳為輸入模式下有效 該暫存器高16位保留,低16位讀取pin腳輸入資料。gpio port output data r...