1FC00016 + (40 * 64)16

1FC00016 + A0016 = 1FCA0016

or decimal

2,080,768 + (40 * 64)

2,080,768 + 2560 = 2,083,328

Given the A16 base address and the "offset" of the Offset register (06 from Figure 3-12), the digitizer’s A24 base address can be determined as shown in the program A24_READ.C.

/* A24_READ.C - This program reads the digitizer’s A24 base address. */

/* Include the following header files */

#include

<stdio.h>

 

#include

<cfunc.h>

/* This file is from the HP-IB Command Library */

#define CMD_MOD 70900L /* I/O path between the digitizer and the Command Module */

/* Function prototypes */

long get_base_addr(void);

/****************************************************************************/ void main(void)

{

long base_addr;/* variable for digitizer A24 base address */

base_addr = get_base_addr();/* function call to calculate and */ /* return digitizer A24 base address */

printf("\nA24 base address = %ld", base_addr);

}

/****************************************************************************/ long get_base_addr(void)

{

/* base address of (A24) offset register in A16 address space */

long base_addr = (0x1FC000 + (40 * 64)) + 6; /* digitizer logical address is 40 */

Continued on Next Page

Chapter 3

Understanding the HP E1429 Digitizer 149

Page 149
Image 149
HP E1429A manual On Next