無線傳感器網(wǎng)絡(luò)實(shí)驗(yàn)教程中斷_第1頁
無線傳感器網(wǎng)絡(luò)實(shí)驗(yàn)教程中斷_第2頁
無線傳感器網(wǎng)絡(luò)實(shí)驗(yàn)教程中斷_第3頁
無線傳感器網(wǎng)絡(luò)實(shí)驗(yàn)教程中斷_第4頁
無線傳感器網(wǎng)絡(luò)實(shí)驗(yàn)教程中斷_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

無線傳感器網(wǎng)絡(luò)實(shí)驗(yàn)教程

中斷實(shí)驗(yàn)主講教師:柯宗武2012年12月Copyright:柯宗武本章內(nèi)容實(shí)驗(yàn)內(nèi)容:利用外部中斷方式編寫按鍵驅(qū)動(dòng)跑馬燈程序使用定時(shí)器來延時(shí)CC2530中斷系統(tǒng)介紹與中斷相關(guān)的SFR介紹中斷程序編寫方法Copyright:柯宗武CC2530中斷系統(tǒng)介紹CPU具有18個(gè)中斷源,每個(gè)源在中斷標(biāo)志SFR寄存器中具有自己的請(qǐng)求標(biāo)志位。每個(gè)中斷源可以獨(dú)立地使能和禁止,中斷具有不同的優(yōu)先級(jí)。每個(gè)中斷源可以通過中斷使能寄存器IEN0,IEN1和IEN2分別進(jìn)行使能和禁止。Copyright:柯宗武CC2530中斷系統(tǒng)介紹為了使能任何一個(gè)中斷,必須采取以下的步驟:清除中斷標(biāo)志在外設(shè)SFR寄存器中設(shè)置各自的中斷使能位在IEN0/IEN1或IEN2寄存器中設(shè)置各自相應(yīng)的中斷使能位設(shè)置寄存器IEN0中的全局中斷使能位EA在相應(yīng)中斷的中斷矢量中開始中斷服務(wù)程序Copyright:柯宗武PICTL(P口中斷控制寄存器)位號(hào)位名復(fù)位值可操作性功能描述7-0讀預(yù)留6PADSC0讀/寫輸出驅(qū)動(dòng)能力選擇0最小驅(qū)動(dòng)能力,1最大驅(qū)動(dòng)能力5P2IEN0讀/寫P2(0-4)中斷使能位:0關(guān)中斷,1開中斷4P0IENH0讀/寫P0(4-7)中斷使能位:0關(guān)中斷,1開中斷3P0IENL0讀/寫P0(0-3)中斷使能位:0關(guān)中斷,1開中斷2P2ICON0讀/寫P2(0-4)中斷配置0上升沿觸發(fā),1下降沿觸發(fā)1P1ICON0讀/寫P1(0-7)中斷配置0上升沿觸發(fā),1下降沿觸發(fā)0P0ICON0讀/寫P0(0-7)中斷配置0上升沿觸發(fā),1下降沿觸發(fā)Copyright:柯宗武

例:P0_6作為外部中斷的配置1.清除中斷標(biāo)志P0IFG=0P0IFG&=~0x40;CC2530用戶手冊(cè)Copyright:柯宗武例:P0_6作為外部中斷的配置2.在外設(shè)SFR寄存器中設(shè)置各自的中斷使能位P0IEN|=0X4001000000位號(hào)位名復(fù)位值可操作性功能描述7P0_7IEN0讀/寫P07中斷掩碼:0關(guān)中斷,1開中斷6P0_6IEN0讀/寫P06中斷掩碼:0關(guān)中斷,1開中斷5P0_5IEN0讀/寫P05中斷掩碼:0關(guān)中斷,1開中斷4P0_4IEN0讀/寫P04中斷掩碼:0關(guān)中斷,1開中斷3P0_3IEN0讀/寫P03中斷掩碼:0關(guān)中斷,1開中斷2P0_2IEN0讀/寫P02中斷掩碼:0關(guān)中斷,1開中斷1P0_1IEN0讀/寫P01中斷掩碼:0關(guān)中斷,1開中斷0P0_0IEN0讀/寫P00中斷掩碼:0關(guān)中斷,1開中斷Copyright:柯宗武例:P0_6作為外部中斷的配置3.在IEN0/IEN1或IEN2寄存器中設(shè)置各自相應(yīng)的中斷使能位IEN1|=0X20;//P0IE=1;開啟P0口中斷Copyright:柯宗武Copyright:柯宗武P0口中斷被掛起,則該位置1Copyright:柯宗武例:P0_6作為外部中斷的配置設(shè)置寄存器IEN0中的全局中斷使能位EAEA=1Copyright:柯宗武Copyright:柯宗武例:P0_6作為外部中斷的配置5.在相應(yīng)中斷的中斷矢量中開始中斷服務(wù)程序#pragmavector=P1INT_VECTOR__interruptvoidP1_ISR(void){......}Copyright:柯宗武預(yù)處理指令#pragma#Pragma的作用是設(shè)定編譯器的狀態(tài)或者是指示編譯器完成一些特定的動(dòng)作。常用來發(fā)出明確的指令來生成和優(yōu)化編譯。#pragma指令對(duì)每個(gè)編譯器給出了一個(gè)方法,在保持與C和C++語言完全兼容的情況下,給出主機(jī)或操作系統(tǒng)專有的特征。依據(jù)定義,編譯指示是機(jī)器或操作系統(tǒng)專有的,且對(duì)于每個(gè)編譯器都是不同的。Copyright:柯宗武#pragmavector在IAR編譯器里,用#pragmavector來提供中斷函數(shù)的入口地址。用關(guān)鍵字來__interrupt來定義一個(gè)中斷函數(shù)。格式:#pragmavector=中斷入口地址__interruptvoid中斷處理函數(shù)名(參數(shù)列表)CC2530中斷入口地址(也稱為中斷向量)在哪個(gè)頭文件中定義?這樣書寫的函數(shù)叫什么類型的函數(shù)?Copyright:柯宗武本征函數(shù)本征函數(shù)(內(nèi)在函數(shù))編譯器自己編寫的能夠直接訪問處理器底層特征的函數(shù)。使用IAR中的本征函數(shù)通常需要包含頭文件intrinsics.h例如:

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論