![background image](http://html1.mh-extra.com/html/ibase-technology/si-324/si-324_user-manual_3231484062.webp)
Appendix
SI-324 User Manual
55
E. Watchdog Timer Configuration
The Watchdog Timer (WDT) is used to generate a variety of output signals
after a user programmable count. The WDT is suitable for the use in the
prevention of system lock-up, such as when software becomes trapped in a
deadlock. Under these sorts of circumstances, the timer will count to zero and
the selected outputs will be driven.
Under normal circumstance, you will need to restart the WDT at regular
intervals before the timer counts to zero.
Sample Code:
//---------------------------------------------------------------------------
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//
//---------------------------------------------------------------------------
#include <dos.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include "F81846.H"
//---------------------------------------------------------------------------
int main (int argc, char *argv[]); void EnableWDT(int);
void DisableWDT(void);
//---------------------------------------------------------------------------
int main (int argc, char *argv[])
{
unsigned char bBuf; unsigned char bTime; char **endptr;
char SIO;
printf("Fintek 81846 watch dog program\n"); SIO = Init_F81846();
if (SIO == 0)
{
printf("Can not detect Fintek 81846, program abort.\n"); return(1);
}//if (SIO == 0)
if (argc != 2)
{
printf(" Parameter incorrect!!\n"); return (1);
}
bTime = strtol (argv[1], endptr, 10);
printf("System will reset after %d seconds\n", bTime);
if (bTime)
{
EnableWDT(bTime); } else
{
DisableWDT(); } return 0;