查看: 1049|回复: 0

【ADI EVAL-ADuCM360QSPZ开发套件】使用教程(四)---看门狗定时器学习

[复制链接]
  • TA的每日心情
    奋斗
    2020-5-27 15:41
  • 签到天数: 868 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2015-4-3 13:48:57 | 显示全部楼层 |阅读模式
    分享到:
    看门狗定时器是一个16位向下计数器,用来复位无效的软件状态,当程序陷入死循环的时候,WDT 超时会强制器件复位。由片内32K振荡器LFOSC、可编程预分频(1、16、256或4096)提供时钟。除了复位时,WDT一直计数。

    看门狗定时器寄存器:

    WDT使能时,需要周期性的清楚计数值,避免强制复位。用于调试时,可配置为产生中断。在复位后,WDT默认为使能,如果不使用或调试时,
    可在用户代码的开头失能。当T3CON[5]=1,设置使能时,也对T3CON和T3LD写保护,这意味着内核执行后,用户失能WDT然后仅能配置一次T3CON[5]=1,然后T3CON和T3LD被写保护。T3STA5指示WDT被锁住状态。只有复位清除T3CON[5],解锁T3CON和T3LD后,才能配置WDT。如果不修改 T3CON,用户任何时候都改变不了T3LD。如果T3CON[5]=0,WDT失能,可以修改设置,可以重新使能。
    WDT可工作在两种模式:
                1:自由运行模式 T3CON[6]=0,WDT的值从0x1000减到0,溢出后装载载0x1000继续减。计数溢出32s默认预分频T3CON[3:2]=10,预分频256。
    2:周期模式 T3CON[6]=1,为了得到大于或小于0X1000的计数,T3LD和T3CON[3:2]被写为相应的溢出周期值。最大溢出时间是大约为8192s,预分频T3CON[3:2]=11,预分频4096。
    默认的溢出周期是32秒,当溢出时产生中断或复位由T3CON[1]位选择。当调试时设置为中断,通过写0xCCCC到只写寄存器T3CLRI清楚中断标志或。在计数周期到期前通过写0xCCCC到T3CLRI阻止复位或中断。写T3CLRI使WDT重载T3LD开始新的周期计数。如果写0xCCCC之外的值,会立刻产生中断或复位。
    T3STA状态寄存器确保定时器时钟和处理器时钟域的同步。在写T3CON、T3LD或T3CLRI后,直到相应的状态为被清除之后开始用户代码。T3VAL保持计数值同步到核时钟域。使用WDT的周期模式产生1s的中断。32.768k时钟256分频后等于128Hz,只要装载T3LD=0X80,开始计数就会每秒溢出1次。使用板上的LED来验证。并且设置一个变量i验证写0xCCCC到T3CLRI会阻止中断的发生。换而言之,如果换成复位,用户代码中设置每隔一定时间就写0xCCCC到T3CLRI,就不会产生复位,一旦程序进入死循环,没有在WDT计数到0之前写0xCCCC到TECLRI,就会强制软件复位,保证了程序的正常运行。

    #include <ClkLib.h>#include <WdtLib.h>#include <DioLib.h>unsigned char i=0;int main (void){    WdtLd(0x80);    WdtCfg(T3CON_PRE_DIV256,T3CON_IRQ_EN,T3CON_PD_DIS);    WdtGo(T3CON_ENABLE_EN);    WdtSta();    DioOen(pADI_GP1,0x8);             ClkDis(CLKDIS_DISSPI0CLK| CLKDIS_DISSPI1CLK| CLKDIS_DISI2CCLK| CLKDIS_DISUARTCLK| CLKDIS_DISPWMCLK| CLKDIS_DIST1CLK| CLKDIS_DISDACCLK| CLKDIS_DISDMACLK| CLKDIS_DISADCCLK);    ClkCfg(CLK_CD0,CLK_HF,CLKSYSDIV_DIV2EN_DIS,CLK_UCLKCG);     // Select CD0 for CPU clock      NVIC_EnableIRQ(WDT_IRQn);         while (1)   {       if(i>10)      //如果中断超过10次,阻止中断        WdtClrInt();                 }}void WDog_Tmr_Int_Handler (){   WdtClrInt();    i++;   DioTgl(pADI_GP1,0x8);} 看门狗不仅能用来复位无效的软件,调试设置中断,还可以和普通定时器一样产生定时。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-19 07:03 , Processed in 0.128263 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.