FSL的MCU 看门狗在应用中有什么特别需要注意的(已解决)

2020-02-21 20:52发布

本帖最后由 FSL_TICS_ZJJ 于 2014-9-11 14:33 编辑

家家的MCU片上都有看门狗,但在应用中,这个小东西常常是被弃用,FSL的看门狗有什么独特的地方,大家在应用中又是如合使用它的,可以分享下你的好ideal.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
74条回答
holts2
2020-02-21 21:37
我先来抛块砖,我在51中是这样用它的



  1. /***********************************************************************
  2. Function : Main
  3. Note     : 主程序
  4. ***********************************************************************/
  5. void main()
  6. {
  7.     Time_Init();    //定时器初始化

  8.     EA=1;           //开总中断

  9.     ADC_Init(0);    //设置AD转换通道为P1.0

  10.     P1M0 = 0xFC;    //P1.234567置为推换口
  11.     P1M1 = 0x03;    //P1.01置为高阻抗
  12.     P2M0 = 0xFF;    //P2.01234567置为推勉输出
  13.     P2 = 0x0F;

  14.     PWM_Init();     //DDS初始化 把PCA置为PWM
  15.        
  16.     set90(2);       //初始设置相位
  17.     setRng(Rang_idx);  //初始设置量程
  18.     setGain(Gain_idx); //初始设置增益
  19.     setFrq(Frq_idx);   //DDS初始设置为1kHz       

  20.     LCD_INIT();

  21.     LCD_PrintString("LCR 3.0");
  22.    
  23.     while(1)
  24.      {
  25.              WDTC();  喂狗

  26.            //键盘处理
  27.               if (Trg&KEY_M) {M_Done(Fun_idx);}  //功能切换
  28.               if (Trg&KEY_X) {X_Done(Mode_idx);} //模式切换
  29.               if (Trg&KEY_R) {setRng(0);}        //量程步进
  30.               if (Trg&KEY_C) {C_Done(0);}        //清零
  31.               if (Cont&KEY_M)
  32.                 {
  33.                        cnt_plus++;
  34.                        if (cnt_plus>100)  {cnt_plus=0;M_Done(FUN_S);}
  35.                  }
  36.               if (Cont&KEY_R)
  37.                 {
  38.                        cnt_plus++;
  39.                        if (cnt_plus>100) {cnt_plus=0;setRng(1);}
  40.                  }
  41.               if (Cont&KEY_C)
  42.                 {
  43.                        cnt_plus++;
  44.                        if (cnt_plus>100) {cnt_plus=0;C_Done(1);}
  45.                  }
  46.               if (!(Cont)){cnt_plus=0;}

  47.            //显示处理
  48.            if (Status == DISPLAY )
  49.             {
  50.                 Status = METER;

  51.                    //calcLCR();
  52.                    //SendSem(meter_fine);
  53.                    //showR();
  54.               }
  55.      }
  56. }

复制代码

一周热门 更多>