beautypg.com

2 digital i/o example, Jrex plus lx software guide – Kontron JRexplus-LX User Manual

Page 17

background image

KTD-S0004-A

Page 14

Watchdog, Digital I/O and Backlight


JRexplus LX Software Guide

5.2

Digital I/O Example

#include
#include
#include

#define JIDA16_INT

0x15

#define GPIO_OUTPUT

0xEA51

#define GPIO_INPUT

0xEA52

#define JIDA_ID

0x4648

#define GPIO_MASK

0x0F

#define BOARD_NUM

1


void WriteDigitalIO (unsigned char value)

// only lower nibble valid

{

union REGS regs;

regs.x.ax = GPIO_OUTPUT;

regs.x.dx = JIDA_ID;

regs.h.cl = BOARD_NUM;

regs.h.ch = (value & GPIO_MASK);

int86 (JIDA16_INT, ®s, ®s);

}

unsigned char ReadDigitalIO (void)

// only lower nibble valid

{

union REGS regs;

regs.x.ax = GPIO_INPUT;

regs.x.dx = JIDA_ID;

regs.h.cl = BOARD_NUM;

int86 (JIDA16_INT, ®s, ®s);

return (regs.h.bl & GPIO_MASK);

}

void main (void)
{
unsigned

char

val;

char str [32];

WriteDigitalIO

(0x05);

getch

();

WriteDigitalIO

(0x0A);

getch

();

val = ReadDigitalIO ();

sprintf (str, "\n%02X\n", val);

printf

(str);

}