System Installation
WADE-8013/WADE-8014 User’s Manual
3-7
WADE-8013/WADE-8014 allows users to control WDT through dynamic software
programming. The WDT starts counting when it is activated. It sends out a signal to
system reset or to non-maskable interrupt (NMI), when time-out interval ends. To
prevent the time-out interval from running out, a re-trigger signal will need to be sent
before the counting reaches its end. This action will restart the counting process. A
well-written WDT program should keep the counting process running under normal
condition. WDT should never generate a system reset or NMI signal unless the
system runs into troubles.
The related Control Registers of WDT are all included in the following sample
program that is written in C language. User can fill a non-zero value into the
Time-out Value Register to enable/refresh WDT. System will be reset after the
Time-out Value to be counted down to zero. Or user can directly fill a zero value into
Time-out Value Register to disable WDT immediately. To ensure a successful
accessing to the content of desired Control Register, the sequence of following
program codes should be step-by-step run again when each register is accessed.
Additionally, there are maximum 2 seconds of counting tolerance that should be
considered into user’ application program. For more information about WDT, please
refer to ITE IT8728F data sheet.
WDT Control Command Example
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#define SIO_Port 0x2E
#define SIO_Port2
0x4E
#define GPIO_LDN
0x07
void Enter_IT872x_SIO() {
outportb(SIO_Port,
0x87);
outportb(SIO_Port,
0x01);
outportb(SIO_Port,
0x55);
outportb(SIO_Port,
0x55);
}
void Set_LDN(unsigned char LDN) {
outportb(SIO_Port,
0x07);
outportb(S1,
LDN);
printf("LDN=%x\n",
LDN);
}