syswatchdog.c

来自「W78E516B的BOOT程序」· C语言 代码 · 共 79 行

C
79
字号
#include <reg54.h>

#include "sysBase.h"
#include "sysHash.h"
#include "sysWatchDog.h"

/******************************************************************/
/* */
/* Routine transmits a databyte to the SPI memory. The databyte */
/* is passed to this routine directly when called. */
/* */
/******************************************************************/
void SEND_BYTE( byte out) 
{
	char count;
	for (count = 0; count <= 7; count++) /* loop to pass each bit */
	{ 
		if ((out & 0x80) == 0)				/* is the bit LOW? */
			X5645_si	= LOW;
		else
			X5645_si	= HIGH;
		out	= out << 1;/* rotate to get next bit */ 
//		delay(1);			
		X5645_clk	= HIGH;						/* provide clock */
//		delay(1);
		X5645_clk	= LOW;
//		delay(1);
	}

}

/*
void StartupWatchDog( void )
{
	// Initalize the X5645
	X5645_wp	= HIGH;
	X5645_cs	= HIGH;
	X5645_si	= LOW;
	X5645_clk	= LOW;
	X5645_so	= HIGH;

	X5645_cs	= LOW;
	SEND_BYTE(0x06);// WREN instruction 
	X5645_cs	= HIGH;

	X5645_cs	= LOW;
	SEND_BYTE(0x01);
	SEND_BYTE(WDT_1400);		//enable the watch_dog 1.4sec
	X5645_cs	= HIGH;
}

void FeedWatchDog( void )
{
	X5645_cs	= LOW;
	X5645_cs	= HIGH;
}
*/

//This procedure just for startup.a51 to call
void CleanupWatchDog( void )
{
	// Initalize the X5645
	X5645_wp	= HIGH;
	X5645_cs	= HIGH;
	X5645_si	= LOW;
	X5645_clk	= LOW;
	X5645_so	= HIGH;

	X5645_cs	= LOW;
	SEND_BYTE(0x06); /* WREN instruction */
	X5645_cs	= HIGH;

	X5645_cs	= LOW;
	SEND_BYTE(0x01);
	SEND_BYTE(WDT_NONE);
	X5645_cs	= HIGH;

}

⌨️ 快捷键说明

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