
28
Programming Watchdog Timer
Embedded and Industrial Computing
Appendix A
Source Code
You can write your own program by modifying the source
code F81865_Test.cpp.. The index address is 2EH.
/////////////////////////////////////////////////////////////////////
////
// F81865_Test.cpp : F81865_test.exe utility for F81865.lib
APIs demonstration.
//
// History:
//
7/15/2011
Brand
new
F81865_test
program.
#include <winsock2.h>
#include “Windows.h”
#include “stdio.h”
#include “F81865.h”
#define PARAMETER_HELP
“\n”\
“The F81865 GPIO utility of Lanner\n”\
“-------------------------------------\n”\
“Usage:\n”\
“ F81865_test DIO_IN port_
number\n”\
“ F81865_test DIO_OUT port_number
value\n”\
“ F81865_test PIO port_number
value\n”\
“ F81865_test RunLED port_number
value\n”\
“ F81865_test AlarmLED port_number
value\n”\
“ F81865_test GPS_LED port_number
value\n”\
“ F81865_test WirelessLED port_number
value\n”\
“ F81865_test WatchDog seconds\n”\
“ F81865_test CaseOpen\n”\
“ F81865_test CaseOpen_Clear\n”\
“ F81865_test Sleep
milliseconds\n”\
“\n”\
“Argement:\n”\
“ DIO_IN Read state from DIO
In.\n”\
“ DIO_OUT Set DIO Out state.\n”\
“ PIO Set PIO LED state.\n”\
“ RunLED Set RUN LED state.\n”\
“ AlarmLED Set Alarm LED state.\n”\
“ GPS_LED Set GPS LED state.\n”\
“ WirelessLED Set Wireless LED state.\n”\
“ Watchdog
Set
Watchdog timer.\n”\
“ CaseOpen Check case opened state.\n”\
“ CaseOpen_Clear Clear case open state.\n”\
“ port_number The port number.\n”\
“ value 1 for on and 0 for off.\n”\
“ seconds
The
watchdog count down seconds. 0 for disable.\n”\
“ milliseconds Milliseconds to
delay\n”
#define RETMSG(a,b) {printf (b) ; return a;}
#define
CHECK_ARGC(a)
{if
(argc
!=
a)
throw
PARAMETER_HELP
;}
// Translate
Hex
string
to
a
long
value
LONG
Hex2Long
(char
*str)
{
LONG
nLong
;
if
(scanf
(str, “%x”,
&nLong)
!=
1)
throw “Error parsing parameter\n” ;
return
nLong
;
}