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

          新聞中心

          S3C2440看門狗定時器

          作者: 時間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
          看門狗定時器的主要作用是在程序因為干擾而跑飛后,能夠使系統(tǒng)復(fù)位,不至于使系統(tǒng)永遠(yuǎn)的死下去。它的原理與一般的定時器沒有多大區(qū)別,就是先要設(shè)置好一段時間,當(dāng)超過這段時間后,就從當(dāng)前運(yùn)行的程序中跳出進(jìn)入中斷處理程序中。但兩者的主要差別是,一般的定時器中斷是我們希望它發(fā)生的,因此我們不會在定時器中斷發(fā)生前的那個時間段內(nèi)干預(yù)它;而看門狗定時器中斷是我們不希望它發(fā)生的,因此我們要想方設(shè)法地避免其發(fā)生。主要的方法就是在中斷發(fā)生前,重新對看門狗定時器的寄存器進(jìn)行賦值,使它的定時器重新開始計時。

          [cpp]view plaincopy
          1. #include"2440addr.h"
          2. #include"Option.h"
          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. void__irqWdt_Int(void);
          12. voidDelay(void)
          13. {
          14. inti;
          15. for(i=0;i<1000000;i++);
          16. }
          17. voidMain(void)
          18. {
          19. rGPBCON&=~((3<<10)|(3<<12)|(3<<14)|(3<<16));//對GPBCON[10:17]清零
          20. rGPBCON|=((1<<10)|(1<<12)|(1<<14)|(1<<16));//設(shè)置GPB5~8為輸出
          21. rGPBUP&=~((1<<5)|(1<<6)|(1<<7)|(1<<8));//設(shè)置GPB5~8的上拉功能
          22. rGPBDAT|=(1<<5)|(1<<6)|(1<<7)|(1<<8);//關(guān)閉LED
          23. rGPBCON|=1;//輸出
          24. rGPBUP|=0;
          25. rGPBDAT|=0;//關(guān)閉蜂鳴器
          26. rWTDAT=50000;//設(shè)置看門狗定時器超時時間為4秒(50÷12.5)
          27. rWTCNT=50000;
          28. rWTCON=(249<<8)|(1<<5)|(0<<3)|(1<<2);//預(yù)分頻值為249,使能看門狗,分頻系數(shù)為16,中斷使能
          29. rSRCPND|=BIT_WDT_AC97;
          30. rINTPND|=BIT_WDT_AC97;
          31. rSUBSRCPND|=BIT_SUB_WDT;//清除中斷標(biāo)志
          32. rINTMSK&=~(BIT_WDT_AC97);
          33. rINTSUBMSK&=~(BIT_SUB_WDT);//開中斷
          34. pISR_WDT_AC97=(unsigned)Wdt_Int;//設(shè)置中斷程序入口
          35. while(1)
          36. {
          37. LED1_ON;Delay();LED1_OFF;
          38. LED2_ON;Delay();LED2_OFF;
          39. LED3_ON;Delay();LED3_OFF;
          40. LED4_ON;Delay();LED4_OFF;
          41. rWTCNT=50000;//喂狗沒喂狗蜂鳴器很響
          42. }
          43. }
          44. void__irqWdt_Int(void)
          45. {
          46. rSRCPND|=BIT_WDT_AC97;
          47. rINTPND|=BIT_WDT_AC97;
          48. rSUBSRCPND|=BIT_SUB_WDT;//清除中斷標(biāo)志
          49. rGPBDAT=1;
          50. Delay();
          51. rGPBDAT=0;//蜂鳴器響一段時間
          52. }




          關(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); })();