User`s manual

140 Agilent E1330B Digital I/O Module Register Information
Appendix B
Embedded
Computer
Example
The following example was developed with the module at logical address 144. The
C language programs were developed on an Agilent V382 using ANSI C
programming language and SICL (Standard Instrument Control Library).
/* C register programming example */
#include <stdio.h>
#include <stdlib.h>
#include <sicl.h>
/* Setup the registers and offsets */
#define mfr_id 0x00
#define dev_id 0x02
#define card_stat 0x04
#define port_xfr_0 0x0C
#define port_xfr_1 0x0D
#define port_xfr_2 0xOE
#define port_xfr_3 0x0F
#define port_ctl_0 0x10
#define port_ctl_1 0x11
#define port_ctl_2 0x12
#define port_ctl_3 0x13
#define port_data_0 0x14
#define port_data_1 0x15
#define port_data_2 0x16
#define port_data_3 0x17
#define port_hand_0 0x18
#define port_hand_1 0x19
#define port_hand_2 0x1A
#define port_hand_3 0x1B
#define port_del_0 0x1C
#define port_del_1 0x1D
#define port_del_2 0x1E
#define port_del_3 0x1F
#define port_norm_0 0x20
#define port_norm_1 0x21
#define port_norm_2 0x22
#define port_norm_3 0x23
/* set up bytes to output */
#define pattern_10xAA
#define pattern_20x55
/* function to test the data register ready bit of the port transfer control register */
int test_drr (int reg_addr){
int test_1;
unsigned char reg_byte;
reg_byte = ibpeek (reg_addr);
reg_byte = reg_byte << 7;
if (reg_byte = 0x80)