A.2 watchdog sample program – AAEON PICO-HD01 User Manual

Page 82

Advertising
background image

P I C O - I T X B o a r d

P I C O - H D 0 1

Appendix A Programming the Watchdog Timer

A-3

A.2 WatchDog Sample Program

******************************************************************************

// WDT I/O operation relative definition (Please reference to Table 1)

#define WDTAddr 0xA00 // WDT I/O base address
Void
WDTWriteByte(byte Register, byte Value);
byte WDTReadByte(byte Register);
Void WDTSetReg(byte Register, byte Bit, byte Val);

// Watch Dog relative definition (Please reference to Table 2)

#define DevReg 0x00 // Device configuration register

#define WDTRstBit 0x80 // Watchdog WDTRST# (Bit7)
#define
WDTRstVal 0x80 // Enabled WDTRST#

#define TimerReg 0x05 // Timer register

#define PSWidthBit 0x00 // WDTRST# Pulse width (Bit0:1)
#define PSWidthVal 0x01 // 25ms for WDTRST# pulse
#define PolarityBit 0x02 // WDTRST# Signal polarity (Bit2)
#define PolarityVal 0x00 // Low active for WDTRST#
#define UnitBit 0x03 // Unit for timer (Bit3)
#define ModeBit 0x04 // WDTRST# mode (Bit4)
#define ModeVal 0x01 // 0:level 1: pulse
#define EnableBit 0x05 // WDT timer enable (Bit5)
#define EnableVal 0x01 // 1: enable
#define StatusBit 0x06 // WDT timer status (Bit6)

#define CounterReg 0x06 // Timer counter register
*******************************************************************************

*******************************************************************************
VOID Main(){

// Procedure : AaeonWDTConfig

// (byte)Timer : Counter of WDT timer.(0x00~0xFF)

// (boolean)Unit : Select time unit(0: second, 1: minute).

AaeonWDTConfig(Counter,

Unit);


// Procedure : AaeonWDTEnable
// This procudure will enable the WDT counting.

Advertising