<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Cortex-M3 (NXP LPC1788)之WDT窗口看門(mén)狗定時(shí)器

Cortex-M3 (NXP LPC1788)之WDT窗口看門(mén)狗定時(shí)器

作者: 時(shí)間:2016-11-19 來(lái)源:網(wǎng)絡(luò ) 收藏
看門(mén)狗定時(shí)器的用途是在微控制器進(jìn)入錯誤狀態(tài)后的一段合理時(shí)間內將其復位??撮T(mén)狗被是能后,如果用戶(hù)沒(méi)有在預先設定的時(shí)間內喂狗,那么會(huì )產(chǎn)生一個(gè)看門(mén)狗事件。

看門(mén)狗定時(shí)器的寄存器有看門(mén)狗定時(shí)器常數計數器WDTC,每當在喂狗寄存器WDFEED中寫(xiě)入喂狗序列,WDTC中的值就會(huì )被寫(xiě)入看門(mén)狗定時(shí)計數器WDTV,WDTV中的值在看門(mén)狗時(shí)鐘的驅動(dòng)下遞減。我們可以通過(guò)設置看門(mén)狗定時(shí)器報警中斷寄存器WDWARNINT寄存器,當WDWARNINT中的值和WDTV中的值匹配時(shí),可以形成中斷。最重要的還有看門(mén)狗模式寄存器WDMOD,它控制著(zhù)看門(mén)狗的使能,復位,更新模式以及超時(shí)標識和中斷標志。此外還有一個(gè)看門(mén)狗定時(shí)器窗口寄存器WDWINDOW,它決定了喂狗過(guò)程中允許的最大的WDTV。

本文引用地址:http://dyxdggzs.com/article/201611/318452.htm

看門(mén)狗的時(shí)鐘有一個(gè)專(zhuān)用的振蕩器,提供了500KHZ的時(shí)鐘,該時(shí)鐘通過(guò)4分頻,提供DWTV計數。因此在下面的程序中給WDTC賦值1000000,則看門(mén)狗計數的周期為 (1/500KHZ)*1000000*4 = 8S .所以看門(mén)狗中斷每8秒產(chǎn)生一次。程序配置看門(mén)狗超時(shí)不復位,進(jìn)入超時(shí)中斷以后軟件清除中斷標志和超時(shí)標識。

注意:為了程序的簡(jiǎn)潔,省去了之前介紹了的系統時(shí)鐘配置和串口的配置。具體的信息可查詢(xún)之前的文章。

  1. #include"LPC1788_REG.h"
  2. #include"uart.h"
  3. #definerWDMOD(*(volatileunsigned*)0x40000000)
  4. #definerWDTC(*(volatileunsigned*)0x40000004)
  5. #definerWDFEED(*(volatileunsigned*)0x40000008)
  6. #definerWDTV(*(volatileunsigned*)0x4000000C)
  7. #definerWDWARNINT(*(volatileunsigned*)0x40000014)
  8. #definerWDWINDOW(*(volatileunsigned*)0x40000018)
  9. charstr[]={"WDT_IRQoccur.rn"};
  10. voidWDT_IRQHandler(void)
  11. {
  12. rICER0|=0x1;
  13. Uart2SendS(str);
  14. rWDMOD&=~(0x1<<3|0x1<<2);
  15. rWDTC=1000000;
  16. rWDMOD|=0x1;
  17. rWDFEED=0xAA;
  18. rWDFEED=0x55;
  19. rISER0|=0x1;
  20. }
  21. intmain(void)
  22. {
  23. unsignedinti,j;
  24. rFIO1DIR|=(1<<18);//GPIO1.18->OUTPUT
  25. Init_Uart2();
  26. rWDTC=1000000;
  27. rWDMOD|=0x1;
  28. rWDFEED=0xAA;
  29. rWDFEED=0x55;
  30. rISER0|=0x1;
  31. while(1)
  32. {
  33. rFIO1PIN|=0x1<<18;
  34. for(i=0;i<10000;i++)
  35. for(j=0;j<1000;j++);
  36. //rWDFEED=0xAA;
  37. //rWDFEED=0x55;
  38. rFIO1PIN&=~(0x1<<18);
  39. for(i=0;i<10000;i++)
  40. for(j=0;j<1000;j++);
  41. }
  42. }
如果將程序中紅色的兩句喂狗屏蔽,則程序每8S產(chǎn)生一次看門(mén)狗超時(shí)中斷,并且LED燈閃爍。串口打印信息如下。

如果打開(kāi)rWDFEED = 0xAA;rWDFEED = 0x55兩句代碼,由于有喂狗,所以程序不會(huì )進(jìn)入超時(shí)中斷,串口也就不會(huì )有打印信息。


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>