C. watchdog timer configuration – IBASE MI802 User Manual

Page 53

Advertising
background image

APPENDIX

MI802 User’s Manual

49

C. Watchdog Timer Configuration


The WDT is used to generate a variety of output signals after a user
programmable count. The WDT is suitable for 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, the user will
restart the WDT at regular intervals before the timer counts to zero.

SAMPLE CODE:


//---------------------------------------------------------------------------
#include <dos.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include "F81866.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 81865 watch dog program\n");


SIO = Init_F81866();

if (SIO == 0)

{

printf("Can not detect Fintek 81865, 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;

}
//---------------------------------------------------------------------------
void EnableWDT(int interval)
{

unsigned char bBuf;

Advertising