[技术问答] N76003 看门狗历程

[复制链接]
1489|10
 楼主| KGSABER 发表于 2019-2-18 16:13 | 显示全部楼层 |阅读模式
我在板子上下载了 看门狗的历程:WatchDog_Reset程序一直卡在while((CHPCON&SET_BIT6)==SET_BIT6);          //check IAPFF (CHPCON.6)
  1. /***********************************************************************
  2.         WDT CONFIG enable
  3.         warning : this macro is only when ICP not enable CONFIG WDT function
  4.         copy this marco code to you code to enable WDT reset.
  5. ************************************************************************/
  6. void Check_WDT_Reset_Config(void)
  7. {
  8.                 set_IAPEN;
  9.                 IAPAL = 0x04;
  10.                 IAPAH = 0x00;       
  11.                 IAPFD = 0xFF;
  12.                 IAPCN = 0xC0;                                                //Read config command
  13.                 set_IAPGO;  
  14.                 if ((IAPFD&0xF0)==0xF0)
  15.                 {
  16.                                 IAPFD = 0x0F;
  17.                                 IAPCN = 0xE1;
  18.         set_IAPGO;                                                                         //trigger IAP
  19.                                 while((CHPCON&SET_BIT6)==SET_BIT6);          //check IAPFF (CHPCON.6)
  20.                                 clr_CFUEN;
  21.                                 clr_IAPEN;
  22.                                 EA = 0;
  23.                                 TA = 0xAA;
  24.                                 TA = 0x55;
  25.                                 CHPCON &= 0xFD;
  26.                                 TA = 0xAA;
  27.                                 TA = 0x55;
  28.                                 CHPCON |= 0x80;
  29.                 }
  30.                 clr_IAPEN;
  31. }


  32. /************************************************************************************************************
  33. *    Main function
  34. ************************************************************************************************************/
  35. void main (void)
  36. {

  37.   Set_All_GPIO_Quasi_Mode;
  38. //        CKDIV = 0X01;
  39.         clr_GPIO1;
  40. //        Timer0_Delay1ms(1);                                        //toggle I/O to show MCU Reset
  41.         set_GPIO1;

  42.        
  43. //----------------------------------------------------------------------------------------------
  44. // WDT Init !!! ENABLE CONFIG WDT FIRST !!!
  45. // Warning:
  46. // Always check CONFIG WDT enable first, CONFIG not enable, SFR can't enable WDT reset
  47. // Please call Enable_WDT_Reset_Config() function to enable CONFIG WDT reset
  48. //----------------------------------------------------------------------------------------------
  49.                 Check_WDT_Reset_Config();
  50.        
  51.           TA=0xAA;TA=0x55;WDCON|=0x07;                                                //Setting WDT prescale
  52.                 set_WDCLR;                                                                                                                //Clear WDT timer
  53.                 while((WDCON|~SET_BIT6)==0xFF);                                //confirm WDT clear is ok before into power down mode
  54. //                EA = 1;
  55.                 set_WDTR;                                                                                                                        //WDT run
  56. //               
  57.     while(1)
  58.                 {
  59.                         clr_P05;
  60.                         Timer0_Delay1ms(1);
  61.                         set_P05;
  62.                         Timer0_Delay1ms(1);
  63.                         clr_P05;
  64.                         Timer0_Delay1ms(1);
  65.                         set_P05;
  66.                         Timer0_Delay1ms(1);
  67.                         clr_P05;
  68.                         set_PD;
  69.                 }
  70. }
不知道什么原因?
xixi2017 发表于 2019-2-18 23:46 | 显示全部楼层
看看配置字是否设置好了
xixi2017 发表于 2019-2-18 23:46 | 显示全部楼层
好像操作看门狗的,要先在配置字里启用看门狗。
小明的同学 发表于 2019-2-19 07:56 | 显示全部楼层
        WDT CONFIG enable
        warning : this macro is only when ICP not enable CONFIG WDT function
        copy this marco code to you code to enable WDT reset.
小明的同学 发表于 2019-2-19 07:56 | 显示全部楼层
注意到这段警告了吗
小明的同学 发表于 2019-2-19 08:49 | 显示全部楼层
虽然我没这个板子,但是我觉得这个例子应该不会有问题。
643757107 发表于 2019-2-19 13:29 | 显示全部楼层
对,注意警告内容,看看是不是没留意
zhuomuniao110 发表于 2019-2-19 22:41 | 显示全部楼层
找到问题没
heisexingqisi 发表于 2019-2-19 23:04 | 显示全部楼层
没法使用?
598330983 发表于 2019-2-20 13:43 | 显示全部楼层
楼主不来了,看来问题搞定了。
598330983 发表于 2019-2-20 13:44 | 显示全部楼层
一般不用怀疑例子,先看看自己是不是哪儿没有搞对。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

25

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部