⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 watchdog.c

📁 2410一些基本试验的源码
💻 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 + -