B&K 4070A User Manual
Page 78

BK Precision 4070A User Manual Rev.2.2
73
'------------------------------------------------------------------------------ 
'------------------------------------------------------------------------------ 
' Program Start 
'------------------------------------------------------------------------------ 
'------------------------------------------------------------------------------ 
 
DECLARE SUB Delay (X%) 
' Declare functions used below.
' (The Delay function waits x mS then returns)
DECLARE SUB Pause ()
' (The Pause fctn waits for a keypress then returns)
 
 CLS ' Clear the screen 
 
' Open serial port 1 for communication with the 4070A with these parameters: 
' Ignore the CD,CTS,DCD flow control lines 
' Set a 5 sec maximum time-out for basic to open the port 
' Set the receive buffer to 2K bytes 
' Disable the RTS flow control line 
' Set the transmit buffer to 1K bytes 
' File access type is Random 
' Set random access buffer size to 2K 
 
 OPEN "COM1:9600,n,8,1,CD0,CS0,DS0,OP5000,RB2048,RS,TB1024" FOR RANDOM AS #1 LEN = 
2048 
 
 
'----------- Make sure a 4070A is attached to the serial port -------------- 
 
' If we send the 4070A a control E character, it will respond with a control C. 
' We use this feature to see if a 4070A is attached. 
' If a 4070A cannot be found, wait until one is attached. 
' User can abort the program at this point by pressing any key. 
 
 
' When power is applied to the 4070A, it prints a menu to the serial port. We wish to 
' disregard these characters, so flush them. 
 
 GOSUB FlushBuff1 ' Flush all received chars from buffer 
 
' Tell the user to connect up a 4070A 
 
 PRINT "Connect the 4070A to the serial port and power the 4070A" 
 
 
ConnectLoop: 
 PRINT #1, CHR$(5); ' Print a control E to 4070A (ASCII char 5) 
 
' Wait for the 4070A to give us some characters. When they arrive, put 
' then into the string a$ 
 
 GOSUB GetResponse1 ' Wait for and get response from 4070A to a$ 
 
' Allow the user to exit the program by pressing a key. 
 
 IF INKEY$ <> "" THEN SYSTEM ' Exit on first terminal keypress 
 
' Did we get a control C (ASCII char 3) from the 4070A? 
 
 IF INSTR(a$, CHR$(3)) THEN GOTO GotSG100 
 
 GOTO ConnectLoop 
GotSG100: 
 
 
