Implementing Timer Functions On Digital Io Ports - Moxa Technologies V2400 Series User Manual

Expansion modules
Table of Contents

Advertisement

V2400 Series Expansion Modules

Implementing Timer Functions on Digital IO Ports

Here are two examples ofDI/DO timer functions.
Example 1
File and Folder:
#include <stdio.h>
#include <stdlib.h>
#if !defined(_WIN32_WCE) && !defined(WIN32)
#include <time.h>
#endif
#include "digit_io_timer.h"
/* callback function */
static void
dgio_input_change_exec(DGIOMNGR *mngr, DGIOITEM *item)
{
int sig;
HANDLE fd=mngr->fd[item->HWIndex];
switch(item->mode)
{
case DGTIO_GET_INPUT:
sig = mxdgio_get_input_signal(fd, item->port);
item->cb(item->HWIndex, item->port, sig, item->arg);
break;
case DGTIO_GET_OUTPUT:
sig = mxdgio_get_output_signal(fd, item->port);
item->cb(item->HWIndex, item->port, sig, item->arg);
break;
case DGTIO_GET_INPUT_STATE_CHANGE:
sig = mxdgio_get_input_signal(fd, item->port);
if (item->last_signal!=sig)
{
}
break;
case DGTIO_SET_OUTPUT:
sig = item->cb(item->HWIndex, item->port, item->last_signal, item->arg);
if (sig)
{
}
else
{
}
break;
default:
return;
}
item->last_signal = sig;
/example/V2100.V24XX/EPM3438/digit_input_change/digit_io_timer.c
item->cb(item->HWIndex, item->port, sig, item->arg);
mxdgio_set_output_signal_high(fd, item->port);
mxdgio_set_output_signal_low(fd, item->port);
Software Installation and Programming Guide
4-9

Advertisement

Table of Contents
loading

Table of Contents