STM32 GPIO原理與配置方法_第1頁
STM32 GPIO原理與配置方法_第2頁
STM32 GPIO原理與配置方法_第3頁
STM32 GPIO原理與配置方法_第4頁
STM32 GPIO原理與配置方法_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

ALIENTEK《例說STM32》

例說STM322023/2/5廣州市星翼電子科技有限公司1ALIENTEK開發(fā)板購買店鋪

店鋪:ALIENTEK第4講GPIO原理與配置方法4.1GPIO基本結(jié)構(gòu)4.2

GPIO配置方法

4.3位帶操作4.4跑馬燈實驗4.5按鍵輸入實驗《例說STM32》22023/2/5廣州市星翼電子科技有限公司ALIENTEK4.1GPIO基本結(jié)構(gòu)《例說STM32》32023/2/5廣州市星翼電子科技有限公司ALIENTEK《例說STM32》42023/2/5廣州市星翼電子科技有限公司每個IO口可以自由編程,單IO口寄存器必須要按32位字被訪問。STM32的很多IO口都是5V兼容的,這些IO口在與5V電平的外設(shè)連接的時候很有優(yōu)勢,具體哪些IO口是5V兼容的,可以從該芯片的數(shù)據(jù)手冊管腳描述章節(jié)查到(I/OLevel標(biāo)FT的就是5V電平兼容的)。ALIENTEK4.2GPIO配置方法《例說STM32》52023/2/5廣州市星翼電子科技有限公司ALIENTEK《例說STM32》62023/2/5廣州市星翼電子科技有限公司

GPIO8種模式

-輸入浮空-輸入下拉-輸入上拉

-模擬輸入

-開漏輸出

-推挽式輸出

-推挽式復(fù)用功能

-開漏復(fù)用功能

3個最大輸出速度 -2MHz-10MHz-50MHzALIENTEK《例說STM32》72023/2/5廣州市星翼電子科技有限公司GPIO輸入輸出配置相關(guān)寄存器-GPIOx_CRL:端口配置低寄存器-GPIOx_CRH:端口配置高寄存器

-GPIOx_IDR:端口輸入寄存器-GPIOx_ODR:端口輸出寄存器

-GPIOx_BSRR:端口位設(shè)置/清除寄存器

-GPIOx_BRR:端口位清除寄存器-GPIOx_LCKR:端口配置鎖存寄存器

寄存器配置在《STM32中文參考手冊V10》的8.2節(jié)有詳細講解。ALIENTEK《例說STM32》82023/2/5廣州市星翼電子科技有限公司ALIENTEK《例說STM32》92023/2/5廣州市星翼電子科技有限公司輸入模式下,上拉還是下拉輸入由ODR寄存器相應(yīng)位決定。ALIENTEK《例說STM32》102023/2/5廣州市星翼電子科技有限公司ALIENTEK《例說STM32》112023/2/5廣州市星翼電子科技有限公司ALIENTEK《例說STM32》122023/2/5廣州市星翼電子科技有限公司ALIENTEK《例說STM32》132023/2/5廣州市星翼電子科技有限公司ALIENTEK4.3位帶操作位帶操作就是把每個比特膨脹為一個32位的字,當(dāng)訪問這些字的時候就達到了訪問比特的目的,比如說BSRR寄存器有32個位,那么可以映射到32個地址上,我們?nèi)ピL問(讀-改-寫)這32個地址就達到訪問32個比特的目的?!独fSTM32》142023/2/5廣州市星翼電子科技有限公司ALIENTEK位帶操作就是把每個比特膨脹為一個32位的字,當(dāng)訪問這些字的時候就達到了訪問比特的目的,比如說BSRR寄存器有32個位,那么可以映射到32個地址上,我們?nèi)ピL問(讀-改-寫)這32個地址就達到訪問32個比特的目的。在CM3支持的位帶中,有兩個區(qū)中實現(xiàn)了位帶。

其中一個是SRAM區(qū)的最低1MB范圍,

0x20000000‐0x200FFFFF(SRAM區(qū)中的最低1MB);

第二個則是片內(nèi)外設(shè)區(qū)的最低1MB范圍,

0x40000000‐0x400FFFFF(片上外設(shè)區(qū)中的最低1MB)?!独fSTM32》152023/2/5廣州市星翼電子科技有限公司ALIENTEK位帶區(qū):支持位帶操作的地址區(qū)

位帶別名:對別名地址的訪問最終作用到位帶區(qū)的訪問上(注意:這中間有一個地址映射過程)

映射關(guān)系式:

《例說STM32》162023/2/5廣州市星翼電子科技有限公司ALIENTEKsys.h文件對GPIO輸入輸出部分功能實現(xiàn)了位帶操作:《例說STM32》172023/2/5廣州市星翼電子科技有限公司ALIENTEK使用位帶操作設(shè)置IO口輸入輸出方法:

PAout(8)=0;//PA.8輸出低

PAout(8)=1;//PA.8輸出高

u8led0;

led0=PAin(8);//讀取PA8的輸入電平

使用位帶操作IO口的前提是先進行了IO口端口模式相關(guān)配置,也就是端口初始化。

《例說STM32》182023/2/5廣州市星翼電子科技有限公司ALIENTEK4.4跑馬燈實驗

硬件連接

該實驗的硬件電路在ALIENTEMMiniSTM32開發(fā)板上默認(rèn)是已經(jīng)連接好了

的。DS0接PA8,DS1接PD2。所以在硬件上不需要動任何東西。其連接原理圖如圖6.4下:

LED與STM32連接原理圖《例說STM32》192023/2/5廣州市星翼電子科技有限公司ALIENTEK

實驗現(xiàn)象兩個LED:DS0和DS1交替閃爍?!独fSTM32》202023/2/5廣州市星翼電子科技有限公司ALIENTEK《例說STM32》212023/2/5廣州市星翼電子科技有限公司實驗源碼:led.hALIENTEK《例說STM32》222023/2/5廣州市星翼電子科技有限公司led.cALIENTEK《例說STM32》232023/2/5廣州市星翼電子科技有限公司main.cALIENTEK《例說STM32》242023/2/5廣州市星翼電子科技有限公司跑馬燈實驗軟件仿真與下載ALIENTEK4.5按鍵輸入實驗

硬件連接

本實驗所需要的硬件電路在開發(fā)板上都已經(jīng)連接好了,不需要經(jīng)過任何設(shè)置,直接編寫代碼就可以了。

LED的連接在上一節(jié)已經(jīng)介紹過了,在MiniSTM32開發(fā)板上的按鍵KEY0是接在PA13

上,KEY1是接在PA15上的,WK_UP接在PA0上。

按鍵與STM32連接原理圖《例說STM32》252023/2/5廣州市星翼電子科技有限公司ALIENTEK《例說STM32》262023/2/5廣州市星翼電子科技有限公司這里需要注意的是KEY0和KEY1是低電平有效的,而WK_UP是高電平有效的,而且要確認(rèn)WK_UP按鈕與DS18B20的連接是否已經(jīng)斷開,如果沒有,則要先斷開,否則DS18B20會干擾WK_UP按鍵!并且KEY0和KEY1連接在與JTAG相關(guān)的IO口上,所以在軟件編寫的時候要先禁用JTAG功能(SWD也需要禁用),才能把這兩個IO口當(dāng)成普通IO口使用。

實驗現(xiàn)象:ALIENTEKMiniSTM32開發(fā)板上載有的3個按鈕(KEY_UP、KEY0、KEY1),來控制板上的2個LED(DS0和DS1),其中KEY0控制DS0,按一次亮,再按一次,就滅。KEY1控制DS1,效果同DS0。KEY_UP則同時控制DS0和DS1,按一次,他們的狀態(tài)就翻轉(zhuǎn)一次。ALIENTEK《例說STM32》272023/2/5廣州市星翼電子科技有限公司程序源碼:key.h

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論