電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>傳感與控制>中斷控制基本編程方法和庫(kù)函數(shù)及例程的詳細(xì)中文介紹

中斷控制基本編程方法和庫(kù)函數(shù)及例程的詳細(xì)中文介紹

2018-05-09 | rar | 0.40 MB | 次下載 | 免費(fèi)

資料介紹

  中斷基本編程方法

  利用《Stellaris外設(shè)驅(qū)動(dòng)庫(kù)》編寫(xiě)一個(gè)中斷程序的基本方法如下:

  1. 使能相關(guān)片內(nèi)外設(shè),并進(jìn)行基本的配置

  對(duì)于中斷源所涉及的片內(nèi)外設(shè)必須要首先使能,使能的方法是調(diào)用頭文件《sysctl.h》中的函數(shù)SysCtlPeripheralEnable( )。使能該片內(nèi)外設(shè)以后,還要進(jìn)行必要的基本配置。

  2. 設(shè)置具體中斷的類型或觸發(fā)方式

  不同片內(nèi)外設(shè)具體中斷的類型或觸發(fā)方式也各不相同。在使能中斷之前,必須對(duì)其進(jìn)行正確的設(shè)置。以GPIO為例,分為邊沿觸發(fā)、電平觸發(fā)兩大類,共5種,這要通過(guò)調(diào)用函數(shù)GPIOIntTypeSet( )來(lái)進(jìn)行設(shè)置。

  3. 使能中斷

  對(duì)于Stellaris系列ARM,使能一個(gè)片內(nèi)外設(shè)的具體中斷,通常要采取分3步走的方法:

  調(diào)用片內(nèi)外設(shè)具體中斷的使能函數(shù)

  調(diào)用函數(shù)IntEnable( ),使能片內(nèi)外設(shè)的總中斷

  調(diào)用函數(shù)IntMasterEnable( ),使能處理器總中斷

  4. 編寫(xiě)中斷服務(wù)函數(shù)

  中斷服務(wù)函數(shù)從形式上跟普通函數(shù)類似,但在命名及具體的處理上有所不同。

  中斷服務(wù)函數(shù)命名 對(duì)于GCC編譯器下的程序,中斷服務(wù)函數(shù)的名稱是事先約定好的。用戶可以打開(kāi)啟動(dòng)文件“LM3S_Startup.s”來(lái)查看每個(gè)中斷服務(wù)函數(shù)的標(biāo)準(zhǔn)名稱(參見(jiàn)表1.1)。例如,GPIOB端口的中斷服務(wù)函數(shù)名稱是GPIO_Port_B_ISR,對(duì)應(yīng)的函數(shù)頭應(yīng)當(dāng)是“void GPIO_Port_B_ISR(void)”,參數(shù)和返回值都必須是void類型。在Keil或IAR開(kāi)發(fā)環(huán)境下,中斷服務(wù)函數(shù)的名稱可以由程序員自己指定,但還是推薦采用GCC下的標(biāo)準(zhǔn)名稱,這樣有利于程序移植。

  中斷狀態(tài)查詢 一個(gè)具體的片內(nèi)外設(shè)可能存在多個(gè)子中斷源,但是都共用同一個(gè)中斷向量。例如GPIOA有8個(gè)管腳,每個(gè)管腳都可以產(chǎn)生中斷,但是都共用同一個(gè)中斷向量號(hào)16,任一管腳發(fā)生中斷時(shí)都會(huì)進(jìn)入同一個(gè)中斷服務(wù)函數(shù)。為了能夠準(zhǔn)確區(qū)分每一個(gè)子中斷源,就需要利用中斷狀態(tài)查詢函數(shù),例如GPIO的中斷狀態(tài)查詢函數(shù)是GPIOPinIntStatus( )。如果不使能中斷,而采取純粹的“輪詢”編程方式,則也是利用中斷狀態(tài)查詢函數(shù)來(lái)確定是否發(fā)生了中斷以及具體是哪個(gè)子中斷源產(chǎn)生的中斷。

  中斷清除 對(duì)于Stellaris系列ARM的所有片內(nèi)外設(shè),在進(jìn)入其中斷服務(wù)函數(shù)后,中斷狀態(tài)并不能自動(dòng)清除,而必須采用軟件清除(但是屬于Cortex-M3內(nèi)核的中斷源例外,因?yàn)樗鼈儾粚儆凇巴庠O(shè)”)。如果中斷未被及時(shí)清除,則在退出中斷服務(wù)函數(shù)時(shí)會(huì)立即再次觸發(fā)中斷而造成混亂。清除中斷的方法是調(diào)用相應(yīng)片內(nèi)外設(shè)的中斷清除函數(shù)。例如,GPIO端口的中斷清除函數(shù)是GPIOPinIntClear( )。

  程序清單1.1以GPIOA中斷為例,給出了外設(shè)中斷服務(wù)函數(shù)的經(jīng)典編寫(xiě)方法。關(guān)鍵是先將外設(shè)的中斷狀態(tài)讀到變量ulStatus里,然后及時(shí)地、放心地清除全部中斷狀態(tài),剩下的工作就是排列多個(gè)if語(yǔ)句分別進(jìn)行處理了。

  程序清單1.1 典型的中斷服務(wù)函數(shù)編寫(xiě)方法

中斷控制基本編程方法和庫(kù)函數(shù)及例程的詳細(xì)中文介紹

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  11次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5DIY動(dòng)手組裝LED電子顯示屏
  10. 0.98 MB  |  3次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)PM2.5檢測(cè)系統(tǒng)程序
  14. 0.83 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537797次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191186次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)