User`s manual

/******************************************************/
void no_dmm_parameters(char *base_addr_dmm, int command)
{
/* this function sends those multimeter commands which do not have parameters; */
/* this includes trigger immediate and software sample. */
/* write command to command register */
/* wait for mm ready bit = 1 */
while(!READY);
iwpoke((unsigned short *)(base_addr_dmm + 0x08),command);
while(!DONE); /* wait until mm is done before sending the */
/* next command and parameters */
if(!NOERR) check_for_error(base_addr_dmm);
/* check for configuration errors */
}
/******************************************************/
void set_scanlist(char *base_addr_fet)
{
/* this function downloads the scan list to the FET multiplexer */
/* clear old scan list and set up scan control register */
iwpoke((unsigned short *)(base_addr_fet + 0x06),1);
iwpoke((unsigned short *)(base_addr_fet + 0x06),0);
/* Download the scan list (channels 0 through 4), configure for */
/* DC voltage measurements */
iwpoke((unsigned short *)(base_addr_fet + 0x0A),0x6000);
iwpoke((unsigned short *)(base_addr_fet + 0x0A),0x6001);
iwpoke((unsigned short *)(base_addr_fet + 0x0A),0x6002);
iwpoke((unsigned short *)(base_addr_fet + 0x0A),0x6003);
iwpoke((unsigned short *)(base_addr_fet + 0x0A),0x6004);
/* set up multiplexer scanning */
/* set direct control of scan list */
iwpoke((unsigned short *)(base_addr_fet + 0x04),0x08);
/* enable digital bus triggering, continuous scanning, reset pointer */
iwpoke((unsigned short *)(base_addr_fet + 0x06),0x1A);
/* set control of scan list to dmm */
iwpoke((unsigned short *)(base_addr_fet + 0x04),0x00);
/* close first channel */
iwpoke((unsigned short *)(base_addr_fet + 0x04),0x10);
}
Continued on Next Page
258 HP E1326B/E1411B Multimeter Register-Based Programming Appendix C