<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          S3C2440中斷控制器

          作者: 時間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
          S3C2440A 中的中斷控制器接受來自 60 個中斷源的請求。提供這些中斷源的是內(nèi)部外設(shè),如 DMA 控制器、

          UART、IIC等等。在這些中斷源中,UARTn、AC97 和EINTn中斷對于中斷控制器而言是“或”關(guān)系。
          當(dāng)從內(nèi)部外設(shè)和外部中斷請求引腳收到多個中斷請求時,中斷控制器在仲裁步驟后請求ARM920T 內(nèi)核的FIQ
          或IRQ。

          本文引用地址:http://www.ex-cimer.com/article/201611/319201.htm

          中斷控制器所用到的專業(yè)寄存器,其詳細(xì)的使用請看數(shù)據(jù)手冊

          SRCPND 中斷標(biāo)志(掛起)寄存器

          寫1時 對應(yīng)位中斷源有中斷請求,寫0時,對應(yīng)位中斷源無中斷請求

          INTPND 中斷服務(wù)(掛起)寄存器

          寫1時 對應(yīng)位中斷源被響應(yīng),寫0時,對應(yīng)位中斷源未被響應(yīng)

          。。。。。。。。。

          現(xiàn)在主要說下外部中斷(其寄存器使用說明在數(shù)據(jù)手冊的輸入輸出端口章節(jié))

          S3C2440有24個外部中斷,GPF0--GPF7對應(yīng)于外部中斷EINT0--EINT7,GPG0--GPG15對應(yīng)于外部中斷EINT8--EINT23,支持上升沿、下降沿、高電平、低電平、雙邊沿觸發(fā)。

          EXTINTn(外部中斷控制寄存器)

          EINTFLTn(外部中斷濾波寄存器)

          EINTMASK(外部中斷屏蔽寄存器)

          EINTPEND(外部中斷掛起寄存器)

          設(shè)置外部中斷的一般步驟

          1,選擇管腳功能為外部中斷功能
          2,設(shè)置觸發(fā)方式
          3,清中斷源掛起寄存器,中斷服務(wù)寄存器(可選,防止原有中斷干擾)
          4,設(shè)置中斷模式(IRQ、FRQ, 默認(rèn)為IRQ)
          5,設(shè)置中斷優(yōu)先級(可選,一般默認(rèn))
          6,打開外部中斷屏蔽
          7,設(shè)置中斷服務(wù)入口程序

          外部中斷按鍵按一下進(jìn)入中斷程序?qū)?yīng)LED燈閃一下

          1. #include"2440addr.h"
          2. #include"option.h"http://這個文件中定義了中斷服務(wù)程序的起始地址
          3. #defineLED1_ON(rGPBDAT&=~(1<<5))
          4. #defineLED1_OFF(rGPBDAT|=(1<<5))
          5. #defineLED2_ON(rGPBDAT&=~(1<<6))
          6. #defineLED2_OFF(rGPBDAT|=(1<<6))
          7. #defineLED3_ON(rGPBDAT&=~(1<<7))
          8. #defineLED3_OFF(rGPBDAT|=(1<<7))
          9. #defineLED4_ON(rGPBDAT&=~(1<<8))
          10. #defineLED4_OFF(rGPBDAT|=(1<<8))
          11. voidDelay(void)
          12. {
          13. inti;
          14. for(i=0;i<100000;i++);
          15. }
          16. void__irqIRQ_KEY1(void)
          17. {
          18. rSRCPND|=(1<<1);//清除中斷標(biāo)志位
          19. rINTPND|=(1<<1);
          20. LED1_ON;
          21. Delay();
          22. LED1_OFF;
          23. }
          24. void__irqIRQ_KEY2(void)
          25. {
          26. rSRCPND|=(1<<4);//清除中斷標(biāo)志位
          27. rINTPND|=(1<<4);
          28. rEINTPEND|=(1<<4);//清除ENIT4的中斷標(biāo)志位
          29. LED2_ON;
          30. Delay();
          31. LED2_OFF;
          32. }
          33. void__irqIRQ_KEY3(void)
          34. {
          35. rSRCPND|=(1<<2);//清除中斷標(biāo)志位
          36. rINTPND|=(1<<2);
          37. LED3_ON;
          38. Delay();
          39. LED3_OFF;
          40. }
          41. void__irqIRQ_KEY4(void)
          42. {
          43. rSRCPND|=1<<0;//清除中斷標(biāo)志位
          44. rINTPND|=1<<0;
          45. LED4_ON;
          46. Delay();
          47. LED4_OFF;
          48. }
          49. voidEint_Init(void)
          50. {
          51. rGPFCON&=~(0x33f);
          52. rGPFCON|=0x22a;//設(shè)置GPF0、1、2、4為中斷輸入功能
          53. rEXTINT0=0x20222;//ENIT0、1、2、4下降沿觸發(fā)中斷
          54. rSRCPND=0x17;//清除ENIT0、1、2、4的中斷標(biāo)志位
          55. rINTPND=0x17;//清除ENIT0、1、2、4的中斷標(biāo)志位
          56. rEINTPEND=(1<<4);//清除ENIT4的中斷標(biāo)志位
          57. rINTMOD=0x0;//所有中斷為IRQ中斷
          58. rINTMSK&=~0x17;//ENIT0、1、2、4中斷服務(wù)有效(這里就是使能外部中斷)
          59. rEINTMASK&=~(1<<4);//EINT4中斷服務(wù)有效
          60. pISR_EINT0=(unsigned)IRQ_KEY4;//設(shè)置各中斷服務(wù)子程序地址
          61. pISR_EINT1=(unsigned)IRQ_KEY1;
          62. pISR_EINT2=(unsigned)IRQ_KEY3;
          63. pISR_EINT4_7=(unsigned)IRQ_KEY2;
          64. }
          65. voidMain(void)
          66. {
          67. rGPBCON&=~((3<<10)|(3<<12)|(3<<14)|(3<<16));//對GPBCON[10:17]清零
          68. rGPBCON|=((1<<10)|(1<<12)|(1<<14)|(1<<16));//設(shè)置GPB5~8為輸出
          69. rGPBUP&=~((1<<5)|(1<<6)|(1<<7)|(1<<8));//設(shè)置GPB5~8的上拉功能
          70. rGPBDAT|=(1<<5)|(1<<6)|(1<<7)|(1<<8);//關(guān)閉LED
          71. Eint_Init();
          72. while(1);
          73. }



          關(guān)鍵詞: S3C2440中斷控制

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();