Measurement Computing Personal488 rev.3.0 For DOS & Windows 3.Xi User Manual
Page 189

9G. Pascal
II. SOFTWARE GUIDES - 9. Driver488/SUB
II-174
Personal488 User’s Manual, Rev. 3.0
Writeln(‘listener
: ‘, substat^.listener);
Write(‘triggered
: ‘, substat^.triggered);
Write(‘cleared
: ‘, substat^.cleared);
Write(‘transfer
: ‘, substat^.transfer);
Writeln(‘byteIn
: ‘, substat^.byteIn);
Writeln(‘byteOut
: ‘, substat^.byteOut);
end;
begin
{ Establish communications with Driver488/SUB }
ieee: = ioOpenName (‘IEEE’);
if ieee = -1 then begin
Writeln(‘Cannot initialize IEEE system’);
halt;
end;
{ Disable the automatic onscreen error display }
if ioError (ieee,OFF) = -1 then begin end;
{ Open the ADC488 device handle or create if necessary }
adc: = ioOpenName (‘ADC’);
if adc = -1 then begin
rv: = ioGetError (ieee,response);
dev: = ioOpenName (‘DEVIEEE’);
adc: = ioMakeDevice (dev,’ADC’);
rv: = ioBusAddress (adc,14,-1);
end;
{ Read the Driver488/SUB revision number }
rv: = ioHello (ieee,response);
Writeln (response);
{ Set up interrupt pointers }
rv: = ioOnEvent (ieee,@isr,nilptr);
{ Enable Driver488/SUB interrupt on Error or Service Request }
rv: = ioArm (ieee,acSRQ);
{ Display the Driver488/SUB system status }
rv: = ioStatus (ieee,substat);
showstat (@substat);
{ Put the ADC488 into remote mode }
rv: = ioRemote (adc);
{ Clear the ADC488 }
rv: = ioClear (adc);
{ Enable ADC488 SRQ on command errors }
lrv: = ioOutput (adc,’M8X’);
{ Send an invalid command to the ADC488 }
Writeln (‘Sending invalid ADC command’);
lrv: = ioOutput (adc,’V13X’);
{ Set up the ADC488:
Differential inputs (A0)
Scan group channel 1 (C1)
Compensated ASCII floating-point output format (G0)
Channel 1 range to 3 (+/-10V)
One-shot trigger on talk (T6)
}
lrv: = ioOutput (adc,’A0C1G0R3T6X’);
{ Wait for the ready bit of the ADC488 to be asserted }
while not bitset (ioSPoll (adc),32) do begin end;