AAEON AEC-6977 User Manual
Page 80

E m b e d d e d C o n t r o l l e r
A E C - 6 9 7 7
Appendix A Programming the Watchdog Timer A-5
************************************************************************************
// Procedure : AaeonWDTEnable
VOID
AaeonWDTEnable ()
{
WDTEnableDisable(
EnableLDN, EnableReg, EnableBit, 1
);
}
// Procedure : AaeonWDTConfig
VOID
AaeonWDTConfig ()
{
// Disable WDT counting
WDTEnableDisable(
EnableLDN, EnableReg, EnableBit, 0
);
// Clear Watchdog Timeout Status
WDTClearTimeoutStatus();
// WDT relative parameter setting
WDTParameterSetting();
}
VOID
WDTEnableDisable(byte LDN, byte Register, byte BitNum, byte Value)
{
SIOBitSet(LDN, Register, BitNum, Value);
}
VOID
WDTParameterSetting()
{
// Watchdog Timer counter setting
SIOByteSet(TimerLDN, TimerReg, TimerVal);
// WDT counting unit setting
SIOBitSet(UnitLDN, UnitReg, UnitBit, UnitVal);
// WDT output mode setting, level / pulse
SIOBitSet(ModeLDN, ModeReg, ModeBit, ModeVal);
// Watchdog timeout output via WDTRST#
SIOBitSet(WDTRstLDN, WDTRstReg, WDTRstBit, WDTRstVal);
}
VOID
WDTClearTimeoutStatus()
{
SIOBitSet(StatusLDN, StatusReg, StatusBit, 1);
}
************************************************************************************