在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > S3C2440看門狗定時器

            S3C2440看門狗定時器

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

            [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));//設置GPB5~8為輸出
            21. rGPBUP&=~((1<<5)|(1<<6)|(1<<7)|(1<<8));//設置GPB5~8的上拉功能
            22. rGPBDAT|=(1<<5)|(1<<6)|(1<<7)|(1<<8);//關閉LED
            23. rGPBCON|=1;//輸出
            24. rGPBUP|=0;
            25. rGPBDAT|=0;//關閉蜂鳴器
            26. rWTDAT=50000;//設置看門狗定時器超時時間為4秒(50÷12.5)
            27. rWTCNT=50000;
            28. rWTCON=(249<<8)|(1<<5)|(0<<3)|(1<<2);//預分頻值為249,使能看門狗,分頻系數(shù)為16,中斷使能
            29. rSRCPND|=BIT_WDT_AC97;
            30. rINTPND|=BIT_WDT_AC97;
            31. rSUBSRCPND|=BIT_SUB_WDT;//清除中斷標志
            32. rINTMSK&=~(BIT_WDT_AC97);
            33. rINTSUBMSK&=~(BIT_SUB_WDT);//開中斷
            34. pISR_WDT_AC97=(unsigned)Wdt_Int;//設置中斷程序入口
            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;//清除中斷標志
            49. rGPBDAT=1;
            50. Delay();
            51. rGPBDAT=0;//蜂鳴器響一段時間
            52. }




            評論


            技術專區(qū)

            關閉