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

📄 watchdog_conf.c

📁 菜鸟,详细NRF24E1运用,程序,电路
💻 C
字号:

#include "reg24le1.h"
#include "watch_dog.h"
#include "intrins.h"

void io_config()
{
CLKCTRL=0X28;
CLKLFCTRL = 0x01; 

P0CON=0X00;//NORMAL
P0DIR=0X00;//OUT
LED=0;

}

void uart_init()
{
		// UART	
	P0DIR &= 0xF7;				// P03 (TxD) is output
  	P0DIR |= 0x10;     			// P04 (RxD) is input 
	P0|=0x18;	 
		
	S0CON = 0x50;  
   	PCON |= 0x80; 				// SMOD = 1
  	WDCON |= 0x80;   			// Select internal baud rate generator 
	 	
    S0RELL = 0xF3;         // BAUD_38K4
  	S0RELH = 0x03;		  	 
  	//ES0 = 1;


}


void watchdog_init()
{

WDSV=(640%256);
delay(10);
WDSV=(640/256);
puts("\n  the le1 will restart in 5 seconds! \n");

}

void delay(unsigned int x)
{

unsigned char di;
   for(;x>0;x--)
     for(di=175;di>0;di--)
	  {
	   ;
	  }
}


void redrst()
{
unsigned char rst;
rst=RSTREAS;
rst&=0x07; 
send('\n');
switch(rst)
{
  case 0x00:puts("On-chip reset generator!");break;//片上晶振产生复位
  case 0x01:puts("RST pin!");break;//引脚复位
  case 0x02:puts("Watchdog!");break;//狗复位
  case 0x04:puts("Reset from on-chip hardware debugger!");break;//硬件调试软件复位
  case 0x06:puts("first reset by debuger,then by watchdog!");break;
  default :puts("error!");break;
}
RSTREAS=0x00;
}

void send(char ch)
{

 S0BUF=ch;
 while(!TI0);
 TI0=0;
}

void puts(unsigned char* s)
{

 while(*s!='\0')
 send(*s++);

}

void decount()
{
unsigned int wh,wl;
unsigned int time0=5,time1=0;
wl=WDSV;
delay(10);
wh=WDSV;
wl&=0xff;
wh&=0xff;
time1=(wh*256+wl)*256/32768;
/*
if(time1!=time0)
  {
LED=!LED;
time0=time1;
send(time0+'0');
send('\n');
   }
		*/
delay(10000);
LED=!LED;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -