文章
博客 网店

 WDT测试程序



/***********************************
功能:WDT测试程序
MCU:dsPIC30F4011
TOOLS:MPLAB X IDE V3.15 + XC16 V1.25
震荡器:外部4M晶振

芯艺设计室 http://www.chipart.cn
2015-12-16
***********************************/
#include <xc.h> 
#include <stdint.h>

#define XTFREQ                 4000000  // xtal = 4Mhz; 
#define PLLMODE                     16  // PLLx16 //

#define FCY           XTFREQ*PLLMODE/4  // Instruction Cycle Frequency 
#include <libpic30.h>

#define LED_PORT_INIT TRISBbits.TRISB6=0  
#define LED_ON  LATBbits.LATB6=1
#define LED_OFF LATBbits.LATB6=0
#define LED_TOOGLE LATBbits.LATB6^=1

_FOSC(CSW_FSCM_OFF & XT_PLL16);
_FWDT(WDT_OFF & WDTPSA_64 & WDTPSB_8); //默认关闭WDT, 128000/256/8/64 = 1Hz

#define  DelayMs __delay_ms

#define APP 0

#if APP==1
//测试WDT复位试验
int main( void ) 
{
    LED_PORT_INIT;
    RCONbits.SWDTEN=1; //WDT使能
    while(1)
    { 
        LED_ON;
        DelayMs(500);
        LED_OFF;
        DelayMs(5000); //等待WDT复位 
    }

    return 0; 

#else
//WDT正常应用
int main( void ) 
{
    LED_PORT_INIT;
    RCONbits.SWDTEN=1; //WDT使能
    while(1)
    { 
        LED_TOOGLE;
        DelayMs(100);
        ClrWdt(); //喂狗操作
    }

    return 0; 
}

#endif


芯艺工作室    蒙ICP备06005492号
Copyright© 2004-2023 ChipArt Studio All Rights Reserved