Agilent Technologies E1330B User's Manual And Scpi Programming Manual page 131

75000 series b quad 8-bit digital i/o module
Hide thumbs Also See for E1330B:
Table of Contents

Advertisement

C Version
Appendix B
/* reading an 8-bit byte */
#include <stdio.h>
#include <chpib.h>
#define LOG_ADDR 144
#define BASE_ADDR (long) ((0x1FC000) + (64 * LOG_ADDR))
void send_info(char state[], float send_data[]);
main ()
{
float
send_data[3], read;
char
state[2] = {13,10};
int
handshak_reg, delay_reg, normiz_reg,
statuscont_reg, transfercont_reg, data_reg;
handshak_reg = 0x19;
delay_reg = 0x1D;
normiz_reg = 0x21;
statuscont_reg = 0x11;
transfercont_reg = 0x0D;
data_reg = 0x15;
send_data[1] = 16;
send_data[0] = BASE_ADDR + handshak_reg;
send_data[2] = 32;
send_info(state, send_data);
send_data[0] = BASE_ADDR + delay_reg;
send_data[2] = 00;
send_info(state, send_data);
send_data[0] = BASE_ADDR + normiz_reg;
send_data[2] = 00;
send_info(state, send_data);
send_data[0] = BASE_ADDR + statuscont_reg;
send_data[2] = 00;
send_info(state, send_data);
send_data[0] = BASE_ADDR + transfercont_reg;
send_data[2] = 2;
send_info(state, send_data);
send_data[0] = BASE_ADDR + data_reg;
IOEOI (7L, 0); IOEOL (7L, " ",0);
IOOUTPUTS (70900L, "DIAG:PEEK? ", 11);
IOEOI (7L, 1); IOEOL (7L, state, 2);
IOOUTPUTA (70900L, send_data, 2);
IOENTER (70900L, &read);
printf("\nData read from module = %X",(int)read);
send_data[0] = BASE_ADDR + transfercont_reg;
send_data[2] = 0;
send_info(state, send_data);
return 0;
}
void send_info(char state[], float send_data[])
{
Agilent E1330B Digital I/O Module Register Information
129

Advertisement

Table of Contents
loading

Table of Contents