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

📄 watchdog.c

📁 ARM嵌入式常用模块的原理图和源码
💻 C
字号:
void dog ( )                        		 /* 初始化看门狗*/
{				
	cs=1;                                     
	delay(1);
	cs=0;
	delay(1);
	cs=1;
      
	outbyt(da);       						/*向看门狗存储器写入一字节*/
	int i,da;
	j=da;                 						/*将要写入的字节赋给临时变量j */
	for(i=0;i<7;i++) 						/*左移8位,送到口线si */
	{    		
		sck=0;
		j=scl(j,1);
		si=cy;
		sck=1; 
	}          								 /*每移一位数据,跟一个时钟信号*/ 
}  

void inbyt (unsign char)				/* 从看门狗存储器读出一字节 */
{
	unsign int i,di;
	j=0;
	for(i=0;i<7;i++);
	{   
		sck=1;
		sck=0;
		cy=so;
		j=scl(j,1);
	}  										/*从看门狗存储器读出一字节送入临时变量j*/
	dat=j;
}

void wrenable ()   						/* 置看门狗写使能*/
{     
 	sck=0; 
	cs=0;
      
	outbyt(06h); 							/*写使能指令06h */
	cs=1;
	sck=0;
}

void wrdisable ()						/* 置看门狗写禁止 */
{     
	sck=0;
	cs=0;

	outbyt(04h);
	sck=0;
	cs=1;
}

void wrregister ()  						/* 写状态寄存器 */
{
	sck=0;
	cs=0;
	dat=01h;      
	outbyt(dat);
	outbyt(00h);							 /* 设定看门狗定时时间 */
	sck=0;
	cs=1;
	delay(200);
}

void rdregister()	  					/*  读看门狗状态寄存器 */
{
	sck=0;
	cs=0;
	outbyt(05h);
	inbyt(05h); 
	sck=0;
	cs=1;
}

void wbyte()  								/*  看门狗存储器字节写入子程序 */
	unsigned char comm;
	sck=0;
	cs=0;
	comm=02h;  								/*  写指令 02h */
	outbyt(comm);
	outbyt(addrl);
	outbyt(dat);  
	cs=1;
	sck=0;
	delay(150);
}

void rbyte() 									/*看门狗存储器字节读出子程序  */
	unsigned char comm;
	sck=0;
	cs=0;
	comm=03h;     
	outbyt(comm);
	outbyt(addrl);
	inbyt;  
	sck=0;
	cs=1;
}

⌨️ 快捷键说明

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