User manual

SOM-4461 A2 Version User Manual 36
A.1 Programming the Watchdog Timer
Below is a sample of programming code in Turbo C++ for controlling the Watchdog
Timer function.
---------------------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
int main(int argc, char* argv[])
{
long reboot_counter;
if (argc != 2) {
printf("Parameter Number is Wrong!!\n");
exit(0);
}
reboot_counter = atol(argv[1]);
StartWdtW836272E_DHG(reboot_counter);
return 0;
}
void StartWdtW836272E_DHG (long SpecTime)
{
unsigned char temp;
outportb( 0x2E, 0x87 );
outportb( 0x2E, 0x87 );
outportb( 0x2E, 0x07 );
outportb( 0x2F, 0x08 );
outportb( 0x2E, 0x2D );
temp = inportb( 0x2F );
temp = temp & 0xFE; // Mask bit0
outportb( 0x2F, temp );
outportb( 0x2E, 0x30 );
outportb( 0x2F, 0x01 );
outportb( 0x2E, 0xF5 );
outportb( 0x2F, 0x00 );
outportb( 0x2E, 0xF6 );
outportb( 0x2F, SpecTime );
outportb( 0x2E, 0xAA );
}