Measurement-computing Personal488 rev.3.0 For DOS & Windows 3.Xi Instrukcja Użytkownika Strona 178

  • Pobierz
  • Dodaj do moich podręczników
  • Drukuj
Przeglądanie stron 177
II. SOFTWARE GUIDES - 9. Driver488/SUB 9F. QuickBASIC
Personal488 Users Manual, Rev. 3.0 II-163
Interrupt Handling
In case we send out an invalid command, either due to a programming error or an unanticipated
condition in the equipment, Driver488/SUB will automatically notify the interrupt handling function as
established above:
rv% = ioOutput & (adc%, V13X)
The interrupt handler as established above might consist of a function similar to the following:
Interrupt service routine for Driver488/SUB interrupts
isr :
Print isr message to screen
PRINT In interrupt handler
Check if the intrrupt was due to a Service Request
sp% = ioSPoll % (ieee%)
IF (sp% = 0) THEN PRINT No SRQ detected: END
Check that the Service Request ws from the ADC488
stadc% = ioSPoll%(adc%)
IF ((stadc% AND 64) = 0) THEN PRINT Not an ADC488 SRQ.: END
Interpret the Serial Poll response
IF ((stadc% AND 1) >0) THEN PRINT Triggered
IF ((stadc% AND 2) >0) THEN PRINT Trigger overrun
IF ((stadc% AND 4) >0) THEN PRINT Buffer overrun
IF ((stadc% AND 8) >0) THEN
Read and interpret the ADC488 error status
PRINT ADC488 error
rv% = ioOutput & (adc%, E?)
errtext$ = SPACE$ (64)
rv% = ioEnter& (adc%, errtext$)
errnum% = VAL (RIGHT$ (errtex$, LEN (errtext$) - 1))
IF ((errnum AND 1) >0) THEN PRINT Invalid DDC
IF ((errnum AND 2) >0) THEN PRINT Invalid DDC option
IF ((errnum AND 4) >0) THEN PRINT Conflict error
IF ((errnum AND 8) >0) THEN PRINT NVRAM setup error
IF ((errnum AND 16) >0) THEN PRINT Calibration error
IF ((errnum AND 32) >0) THEN PRINT NRRAM calibration error
END IF
IF ((stadc% AND 32) >0) THEN PRINT ready
IF ((stadc% AND 64) >0) THEN PRINT SRQ asserted
IF ((stadc% AND 128) >0) THEN PRINT Data acquisition complete
RETURN
Basic Data Acquisition
With both Driver488/SUB and the external device ready for action, we next might try taking a simple
reading using the ADC488. Here, we use the serial poll (
SPoll
) capabilities of the system to
determine when a response is ready and format the reply.
WHILE ((ioSPoll%(adc%) AND 32) = 0) : WEND
response$ = SPACE$ (256)
rv% = ioEnter& (adc%, response$)
voltage ! = VAL (reponse$)
PRINT ADC488 channel #1 rading value is ; voltage!
Block Data Acquisition
First, we set up the ADC488 (
adc
) in the following configuration:
Compensated binary output format (G10)
100 usec scan interval (I3)
No pre-trigger scans = 0, 100 post-trigger scans (N100)
Continuous trigger on GET (T1)
Przeglądanie stron 177
1 2 ... 173 174 175 176 177 178 179 180 181 182 183 ... 399 400

Komentarze do niniejszej Instrukcji

Brak uwag