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

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

Advertisement

Appendix B
test_1 = 0; /* port is ready */
else
test_1 = 1; /* port not ready */
return test_1; }
main () {
INST id;
unsigned short data_word;
unsigned char data_byte;
int reg_num;
char *base_addr;
int errnum;
/* open a path to digital I/O module */
id = iopen("vxi,144");
if (id == 0){
errnum = igeterrno();
printf ("iopen failed: error = %d,%s\n\n",errnum,igeterrstr(errnum));
exit (-1); }
/* get base address */
base_addr = imap(id,I_MAP_VXIDEV,0,0,NULL);
if (base_addr == NULL){
errnum = igeterrno();
printf("imap failure: error = %d,%s\n",errnum,igeterrstr(errnum));
exit (-1); }
/* perform a soft reset */
iwpoke((base_addr + card_stat),0xFCBF);
iwpoke((base_addr + card_stat),0xFCBE;
/* read MFR and device ID registers */
data_word = iwpeek (base_addr + mfr_id);
printf("MFR ID value = %04X\n",data_word);
data_word = iwpeek (base_addr + dev_id);
printf("Dev ID value = %04X\n",data_word);
/* output data bytes to ports 0 and 3, no handshake */
/* port 0 */
ibpoke((base_addr + port_hand_0),0x00);
ibpoke((base_addr + port_del_0),0x00);
ibpoke((base_addr + port_norm_0),0x00);
ibpoke((base_addr + port_ctl_0),0x00);
ibpoke((base_addr + port_xfr_0),0x00);
ibpoke((base_addr + port_data_0),pattern_1);
Agilent E1330B Digital I/O Module Register Information
141

Advertisement

Table of Contents
loading

Table of Contents