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