WEND

PRINT sr' print final value of sr

END

Generating a Service Request Interrupt

This example tests the service request interrupt function. It unmasks the settled bit in the SRQ mask register and selects a channel. An interrupt is generated when the switch reaches the channel.

ON PEN GOSUB SPOLL

' enable SRQ interrupt

PEN ON

 

PRINT #1, "OUTPUT 07;CSB;SRE 4"

' clear status register and unmask

 

' settled bit in SRQ mask register

PRINT #1 "OUTPUT 07;CLOSE 6"

' change channel

'More code executed while switch hannelc set

WHILE (INKEY$ = "")

' endless loop to simulate bigger program

WEND

' ends when any key is pressed

PEN OFF

 

END

 

SPOLL:

 

PRINT #1, "SPOLL 07"

' serial poll the switch

INPUT #2, sr

' read status register

PRINT sr

' verify SRQ bit is set

PRINT #1, "SPOLL 07"

' serial poll again to verify SRQ bit is now cleared

INPUT #2, sr

' read status register

PRINT sr

 

RETURN

 

Learn Query (LRN?)

This example demonstrates the use of the learn query.

DIM LEARN$[100]

PRINT #1, "OUTPUT 07;LRN?"' send the learnquery command PRINT #1, "ENTER 07"

LINE INPUT #2, LEARN$

'The above variables can be saved in a datailef before quitting the program and

'then later readback and used to restore the switch to a same state.

'Like this...

PRINT#1, "OUTPUT 07;"LEARN$

'SB settings are now restored

END

RS232 Programming Examples

This section provides programming examples for controlling the SB switch over the RS232 interface. The examples were written in MS-DOS Qbasic and run on a personal computer

Programming Guide – 32

Page 37
Image 37
HP SB manual RS232 Programming Examples, Generating a Service Request Interrupt, Learn Query LRN?