📄 wdt.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 + -