Appendix a, Programming watchdog timer – Lanner LEC-3000A User Manual
Page 17

15
Programming Watchdog Timer
Embedded and Industrial Computing
Appendix A
Watch Dog sample code:
// LEC3000_Test.cpp : Defines the entry point for the console
application.
//
#include “Windows.h”
#include “stdio.h”
#include “F81865.h”
#define PARAMETER_HELP “Test 1 ==> Test DIO \nTest 2 ==>
Test LED \nTest 3 ==> Enable WatchDog \nTest 4 ==> Disable
WatchDog\n”
#define
RETMSG(a,b)
{printf
(b)
;
return
a;}
int main(int argc, char* argv[])
{
try
{
int i = 0 ;
if (argc != 2)
RETMSG (-1, PARAMETER_HELP) ;
if (argv[1][0] == ‘1’)
{
for (i = 0 ; i < 4 ; i++)
{
printf
(“Set
DIO#%d=1\n”, i) ;
Write_DIO (i, 1) ;
Sleep (1) ;
printf (“Read DIO=”) ;
for (int j = 0 ; j < 4 ; j++)
printf (“%d”,
Read_DIO (j) ) ;
printf (“\n”) ;
Sleep (500) ;
}
for (i = 0 ; i < 4 ; i++)
{
printf
(“Set
DIO#%d=0\n”, i) ;
Write_DIO (i, 0) ;
Sleep (1) ;
printf (“Read DIO=”) ;
for (int j = 0 ; j < 4 ; j++)
printf (“%d”,
Read_DIO (j) ) ;
printf (“\n”) ;
Sleep (500) ;
}
}
else if (argv[1][0] == ‘2’)
{
printf (“LED Red\n”) ;
Run_LED (0, 1) ;
Run_LED (1, 0) ;
Sleep (1000) ;
printf (“LED Green\n”) ;
Run_LED (0, 0) ;
Run_LED (1, 1) ;
Sleep (1000) ;
printf (“LED Amber\n”) ;
for (i = 0 ; i < 33 ; i++)
{
Run_LED (0, 1) ;
Run_LED (1, 0) ;
Sleep (1) ;
Run_LED (0, 0) ;
Run_LED (1, 1) ;
Sleep (1) ;
}