Table 4-4. Quick Basic Serial Interface Program
CLS
PRINT " SERIAL COMMUNICATION PROGRAM"
PRINT
TIMEOUT = 2000
BAUD$ = "9600"
TERM$ = CHR$(13) + CHR$(10)
OPEN "COM1:" + BAUD$ + ",O,7,1,RS" FOR RANDOM AS #1 LEN = 256
LOOP1: LINE INPUT "ENTER COMMAND (or EXIT):"; CMD$
CMD$ = UCASE$(CMD$)
IF CMD$ = "EXIT" THEN CLOSE #1: END
CMD$ = CMD$ + TERM$
PRINT #1, CMD$;
IF INSTR(CMD$, "?") <> 0 THEN
RS$ = ""
N = 0
WHILE (N < TIMEOUT) AND (INSTR(RS$, TERM$) = 0)
IN$ = INPUT$(LOC(1), #1)
IF IN$ = "" THEN N = N + 1 ELSE N = 0
RS$ = RS$ + IN$
WEND
IF RS$ <> "" THEN
RS$ = MID$(RS$, 1, (INSTR(RS$, TERM$) - 1))
PRINT "RESPONSE:"; RS$
ELSE
PRINT "NO RESPONSE"
END IF
END IF
GOTO LOOP1
Remote Operation
Omega Model CYD211 User's Manual
'Clear screen
'Read timeout (may need more)
'Terminators are <CR><LF>
'Get command from keyboard
'Change input to upper case
'Get out on Exit
'Send command to instrument
'Test for query
'If query, read response
'Clr return string and count
'Wait for response
'Get one character at a time
'Add 1 to timeout if no chr
'Add next chr to string
'Get chrs until terminators
'See if return string is empty
'Strip off terminators
'Print response to query
'No response to query
'Get next command
4-11