📄 watchdog.c
字号:
#include "2410addr.h"
#include "2410lib.h"
#include "timer.h"
void __irq watchdog_int(void);
int l=0,j=0;
void watch_int(void)
{
ClearPending(BIT_WDT);
Uart_Printf("watchdog_int is beginning\n");
rWTCON=(100<<8)|(3<<3);//Prescaler=100,1/128,divisioner
//t=101*128/50*10e-6=0.00025856s
rWTDAT=155;
rWTCNT=155;
rWTCON|=(1<<2)|(1<<5);
//rWTCON&=(0<<0);
//rINTMOD&=0xFFFFFDFF;
EnableIrq(BIT_WDT);
//while(l<30);
}
void __irq watchdog_int(void)
{
ClearPending(BIT_WDT);
if(j<15)
{
l++;
Uart_Printf("watchdoghander is beginning\n");
}
else
{
rWTDAT=15500;
rWTCNT=15500;
//rWTCON &= ~(3<<1);
rWTCON|=((1<<5)|(1<<0));
while(1)
Uart_Printf("watchdoghander is over\n");
}
}
int Main()
{
SetClockDivider(1, 1);//FLCK:HCLK:PCLK=1:2:4
SetSysFclk(DFT_FCLK_VAL);//Fout=200MHZ
Port_Init();
Uart_Select(0);
Uart_Init(0, UART_BAUD);
Uart_Printf("watchdog test is beginning\n");
rGPFCON=(rGPFCON&0x00ff)|0x5500;
rGPFUP=0;
rGPFDAT&=0x00ff;
pISR_WDT=(unsigned)watchdog_int;
watch_int();
while(1)
{
if(l==25)
{
rGPFDAT=~rGPFDAT;
l=0;
j++;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -