實驗五中斷驅(qū)動實驗—戴國慶_第1頁
實驗五中斷驅(qū)動實驗—戴國慶_第2頁
實驗五中斷驅(qū)動實驗—戴國慶_第3頁
實驗五中斷驅(qū)動實驗—戴國慶_第4頁
實驗五中斷驅(qū)動實驗—戴國慶_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、班級:計算機(jī)科學(xué)與技術(shù)姓名:戴國慶學(xué)號:20132430104實驗五 中斷驅(qū)動實驗一. 實驗?zāi)康牧私釹TM32微控制器的中斷特性,熟悉GPIO的復(fù)用功能和中斷特點,掌握使用中斷驅(qū)動方式檢測外設(shè)狀態(tài)以及編寫中斷服務(wù)程序的方法。 二. 實驗內(nèi)容編寫NVIC初始化和EXTI初始化函數(shù),完成中斷驅(qū)動方式的按鍵檢測程序、以及中斷服務(wù)程序,使用軟件模擬運行和調(diào)試程序。配合LED驅(qū)動程序,使用硬件仿真器下載、運行和調(diào)試程序,實現(xiàn)按下KEY1按鍵,中斷服務(wù)程序控制對應(yīng)LED1燈亮起一段時間后滅;按下KEY2鍵,LED2燈燈亮起一段時間后滅。KEY1和KEY2設(shè)置不同的搶占優(yōu)先級實現(xiàn)中斷嵌套。三實驗要求1.結(jié)合

2、按鍵和LED等顯示效果,體會中斷的功能和應(yīng)用。2.編寫實驗報告:寫出詳細(xì)的項目開發(fā)過程,上機(jī)調(diào)試過程(軟件仿真和硬件仿真)。寫出實驗總結(jié)以及實驗的心得體會。四實驗步驟按鍵中斷:1.根據(jù)按鍵狀態(tài)控制LED燈亮滅按鍵KEY有按下來,產(chǎn)生中斷請求2.KEY在目標(biāo)板上的連接PA0、PC13、依次連接2個KEY1、KEY2按鈕按下時,相應(yīng)GPIO引腳輸入低電平(0),否則輸入高電平(1)3.程序的功能是按下按鈕KEY1對應(yīng)LED1亮一段時間,然后熄滅LED1接PB0,KEY1接PA0具體實現(xiàn):1.時鐘配置NVIC在內(nèi)核里,使用內(nèi)核時鐘,在啟動代碼里有SystemInit()函數(shù),使系統(tǒng)時鐘為72MHZ,

3、需要用戶配置的是GPIO的時鐘2.NVIC初始化配置首先,選擇優(yōu)先級組號(即04共5種形式)NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);/ 本例中,只有1個中斷源,選用1組優(yōu)先級配置其次,調(diào)用misc.c文件的NVIC初始化函數(shù)void NVIC_Init( NVIC_InitTypeDef * NVIC_InitStruct )參數(shù)NVIC_InitStruct是指向NVIC_InitTypeDef結(jié)構(gòu)的指針typedef struct uint8_t NVIC_IRQChannel; uint8_t NVIC_IRQChannelPreem

4、ptionPriority; uint8_t NVIC_IRQChannelSubPriority; FunctionalState NVIC_IRQChannelCmd; NVIC_InitTypeDef;3.配置GPIO端口工作方式GPIO配置 PB0驅(qū)動LED1燈,其工作模式配置為推免輸出代碼:/*定義一個GPIO_InitTypeDef類型的結(jié)構(gòu)體*/GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOB|, ENABLE); /*選擇要控制的GPIOB引腳*/GPIO_InitS

5、tructure.GPIO_Pin = GPIO_Pin_0; /*設(shè)置引腳模式為通用推挽輸出*/GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /*設(shè)置引腳速率為50MHz */ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /*調(diào)用庫函數(shù),初始化GPIOB0*/GPIO_Init(GPIOB, &GPIO_InitStructure);KEY1接PA0, PA0引腳配置為上拉輸入模式GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2Peri

6、phClockCmd (RCC_APB2Periph_GPIOA|, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOA, &GPIO_InitStructure);4.EXTI初始化配置調(diào)用stm32f10x_exti.c中的EXTI初始化配置void EXTI_Init( EXTI_InitTypeDef * EXTI_InitStruct )參數(shù)EXTI_InitStruct是指向EXTI_InitTypeD

7、ef結(jié)構(gòu)的指針typedef struct uint32_t EXTI_Line; /* 指明EXTI線 */ EXTIMode_TypeDef EXTI_Mode; /* 指明工作模式 */ EXTITrigger_TypeDef EXTI_Trigger; /* 指明有效邊沿 */ FunctionalState EXTI_LineCmd; /* ENABLE或DISABLE */EXTI_InitTypeDef;5.配置GPIO和EXTI映射關(guān)系首先,對進(jìn)行中斷請求的GPIO引腳進(jìn)行初始化配置例如設(shè)置按鍵引腳為下拉輸入或浮空輸入模式也可以在配置NVIC之前進(jìn)行其次,調(diào)用stm32f10x

8、_gpio.c的EXTI線配置函數(shù)void GPIO_EXTILineConfig ( uint8_t GPIO_PortSource, uint8_t GPIO_PinSource )GPIO_PortSource選擇作為EXTI線的GPIO端口形如GPIO_PortSourceGPIOx(x是AG)GPIO_PinSource指明配置的EXTI線(GPIO引腳)形如GPIO_PinSourcex(x是015)本例代碼: GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);6.中斷服務(wù)程序stm32f10x_it.cMDK 為

9、方便用戶編寫中斷服務(wù)程序, 特別提供了文件 stm3210x_it.c( 以及配套的頭文件 stm3210x_it.h)。這兩個文件保存于 MDK 文件夾( Keil_v5) 的軟件包( Pack) 中,具體是在 STM32 標(biāo)準(zhǔn)外設(shè)驅(qū)動程序庫的模板文件夾( templates) 里。 或者也可以在 MDK文件夾下搜索出它們。將文件 stm3210x_it.c 和 stm3210x_it.h, 復(fù)制到用戶應(yīng)用程序文件夾( user) 下, 并去掉其只讀屬性, 并添加到項目中。打開 MDK 提供的中斷服務(wù)程序文件 stm3210x_it.c, 會發(fā)現(xiàn)已經(jīng)編輯了 CM3 異常處理程序( 函數(shù)) 的框架, 處理本身或為空或為死循環(huán)。 最后, 也給出了一個內(nèi)容為空的外設(shè)中斷服務(wù)程序( 函數(shù)) 的框架, 等待用戶編寫。五部分代碼及其實現(xiàn) 六實驗總結(jié)通過實驗我了解了STM32微控制器的中斷特性,stm32微控制器可以在NVIC中設(shè)置中斷優(yōu)先級。中斷優(yōu)先級分為搶占式優(yōu)先級和響應(yīng)式優(yōu)先級,本實驗只涉及到了搶占式優(yōu)先級。高優(yōu)先級中斷可以在低優(yōu)先級中斷過程中響應(yīng),反之不能

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論