您的位置 首页 新能源

S3C2440看门狗定时器

看门狗定时器的主要作用是在程序因为干扰而跑飞后,能够使系统复位,不至于使系统永远的死下去。它的原理与一般的定时器没有多大区别,就是

看门狗定时器的首要作用是在程序由于搅扰而跑飞后,可以使体系复位,不至于使体系永久的死下去。它的原理与一般的定时器没有多大差异,便是先要设置好一段时刻,当超越这段时刻后,就从当时运转的程序中跳出进入中止处理程序中。但两者的首要差别是,一般的定时器中止是咱们期望它产生的,因而咱们不会在定时器中止产生前的那个时刻段内干涉它;而看门狗定时器中止是咱们不期望它产生的,因而咱们要想方设法地防止其产生。首要的办法便是在中止产生前,从头对看门狗定时器的寄存器进行赋值,使它的定时器从头开始计时。

[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,使能看门狗,分频系数为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. }

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/262838.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部