UC-7420/7410 User’s Manual

Programmer’s Guide

#include<sys/stat.h> #include<sys/ioctl.h> #include<sys/select.h> #include<sys/time.h> #include<moxadevice.h>

static void mydelay(unsigned long msec)

{

struct timevaltime;

time.tv_sec = msec / 1000;

time.tv_usec = (msec % 1000) * 1000; select(1, NULL, NULL, NULL, &time);

}

static int swtdfd; static int stopflag=0;

static void stop_swatchdog()

{

stopflag = 1;

}

static void do_swatchdog(void)

{

swtd_enable(swtdfd, 500); while ( stopflag == 0 ) {

mydelay(250); swtd_ack(swtdfd);

}

swtd_disable(swtdfd);

}

int main(int argc, char *argv[])

{

pid_t sonpid;

signal(SIGUSR1, stop_swatchdog); swtdfd = swtd_open();

if ( swtdfd < 0 ) {

printf(“Open sWatchDog device fail !\n”); exit(1);

}

if ( (sonpid=fork()) == 0 ) do_swatchdog();

//do user application main function

…..

…..

…..

//end user application

kill(sonpid, SIGUSR1); swtd_close(swtdfd); exit(1);

}

The makefile is shown below:

all:

mxscaleb-gcc –o xxxx xxxx.c –lmoxalib

5-8

Page 84
Image 84
Moxa Technologies UC-7420/7410 user manual Swtddisableswtdfd Int mainint argc, char *argv Pidt sonpid