B: Watchdog Timer (WDT) Setting
WDT is widely used for industry application to monitor the activity of CPU.
Application software depends on its requirement to trigger WDT with adequate
timer setting. Before WDT time out, the functional normal system will reload
the WDT. The WDT never time out for a normal system. The WDT will not be
reloaded by an abnormal system, then WDT will time out and auto-reset the
system to avoid abnormal operation.
This computer supports 255 levels watchdog timer by software programming
I/O ports.
Below is an assembly program example to disable and load WDT.
Sample Codes:
/*-----------------------------------------------------------------------
----*/
#include <math.h>
#include <stdio.h>
#include <dos.h>
int sioIndex = 0x4E; /* or 0x2E */
int sioData = 0x4F; /* or 0x2F */
int main(void)
{
int iCount;
printf("WDT Times ( 1 ~ 255 ) : \0");
scanf("%d",&iCount);
printf("\n");
SioWDTStart(iCount);
while(1)
{
iCount = SioWDTCount();
printf("\r Counts : %d ",iCount);
sleep(1);
}
return 0;
}
void SioWDTStart(int iCount)
{
outportb(sioIndex, 0x87); /* Enable
Super I/O */