打印
[MINI51]

ddllxxrrMiNi51学习第九贴 看门狗复位

[复制链接]
1659|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ddllxxrr|  楼主 | 2012-2-4 14:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hotpower 于 2012-9-22 12:42 编辑

这狗狗复位编程思路是这样,WDT不用中断只是发看门狗复位命令,然后启动狗,在主程序用读复位状态函数看状态。
      若是看门狗复位则亮一只灯。
     不足之处是每次毕须断电一段时间再上电才可再来。原因是没清复位源,我清了就看不到灯了。
 
/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2009 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/
#include "includes.h"  //包含所需的头文件
uint8_t count;
uint8_t reststate;
void WDT_Callback(void)
{

}
/*************************************************************************************
** Function name:       main
** Descriptions:        DWTREST            
** input parameters:    无
** output parameters:   无
** Returned value:      无
*************************************************************************************/
int main (void)
{
Set_System();      //调用系统初始化函数
   
    UNLOCKREG();
    DrvWDT_Open(E_WDT_LEVEL6);
    DrvWDT_Ioctl(E_WDT_IOC_ENABLE_RESET_FUNC, 0);
    DrvWDT_Ioctl(E_WDT_IOC_START_TIMER, 0);
    LOCKREG();

while(1)
{
      
     reststate=DrvSYS_GetResetSource();
     if(reststate & 0x04)
     {
          DrvGPIO_ClrBit(E_PORT3, 1);  //LED0-ON
     
    DrvWDT_Close();
   
     }
     else
          DrvGPIO_SetBit(E_PORT3, 1);  //LED0-OFF
}
   
}




工程文件:
DWTREST.rar (527.61 KB)

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2398

主题

6949

帖子

66

粉丝