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

📄 wdt.c

📁 ZIGBEE 2006协议栈 BAT测试代码 RADIO PULSE MG2455
💻 C
字号:


/*******************************************************************************
	- Chip		: MG24500/55
	- Author		: RadioPulse Inc, 2007.
	- Date		: 2007-07-02
	- Version		: VER 1.0	
*******************************************************************************/

#include "INCLUDE_TOP.h"

//------------------------------------------------
//-- @8MHz System Clock
// Timeout = 0 : 62.5 ms
// Timeout = 1 : 125 ms
// Timeout = 2 : 250 ms
// Timeout = 3 : 500 ms
//------------------------------------------------
//-- @16MHz System Clock
// Timeout = 0 : 31.2 ms
// Timeout = 1 : 62.5 ms
// Timeout = 2 : 125 ms
// Timeout = 3 : 250 ms
//------------------------------------------------

void ZHAL_WDT_SET(UINT8 Ena, UINT8 Timeout) 
{
	UINT8	LocalPre;

	LocalPre = Timeout & 0x03;	
	WDT = LocalPre;
	
	WDT |= 0x10;			// set bit[4]. WDT Write Enable
	if(Ena)	WDT |= 0x08;	// set bit[3]. WDT Enable
	else		WDT &= 0xF7;	// clear bit[3]. Disable	
}

void ZHAL_WDT_RESTART() {
	WDT |= 0x04;			// set bit[2]
}

//
//	Main Timer must have this variable
//
	extern UINT16		WatchDogCount;
	extern UINT8		WatchDogCountEnable;
//
void ZSYS_WDT_SET(UINT16 Timer0Period_Cnt)
{
	UINT8 _ET0;

	_ET0 = ET0;
	ET0 = 0;

	if(Timer0Period_Cnt)		// WDT Enable
	{
		WatchDogCount = Timer0Period_Cnt;
		WatchDogCountEnable = 1;
		ZHAL_WDT_SET(1, 3);
	} 
	else				// WDT Disable
	{
		WatchDogCountEnable = 0;
		ZHAL_WDT_SET(0, 3);
	}

	ET0 = _ET0;
}

⌨️ 快捷键说明

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