
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;
Comentarios a estos manuales