
Page 14 MSI-P604 User Manual
sendpchar: ‘Send character pchar to UART (U5) port
WHILE (INP(PRIMARY + 5) AND &H40) = 0: WEND
OUT PRIMARY, ASC(pchar$)
‘PRINT pchar$;
RETURN
getchar: ‘Get UART (U5) character and display on console
IF (INP(PRIMARY + 5) AND 1) = 1 THEN
z = INP(PRIMARY)
PRINT CHR$(z);
charcount = charcount + 1
END IF
RETURN
setDOutput: ‘set outputs of J1 to outvalue
z = (outvalue AND 1) * 4 + (outvalue AND 2) * 4
‘ get OUT1_BUFFERED (OUT1),
‘ OUT2_BUFFERED (OUT2)
z = z + (outvalue AND 4) / 2 + (outvalue AND 8) / 8
‘ add OUT3 (RTS), OUT4 (DTR)
s = INP(PRIMARY + 4) ‘get MODEM control register contents
z = (z AND &HF) OR (s AND &HF0) ‘set corresponding output bits
OUT PRIMARY + 4, z ’ output to port
RETURN
getDInputs: ‘get digital inputs from /CTS & /DSR of UARTS
z = NOT INP(PRIMARY + 6) AND &HF0 ‘get digital inputs and invert
for MSR
CLS ‘clear screen
PRINT “”: PRINT “Digital Inputs for J1”: PRINT “”
PRINT HEX$(z / 16)
PRINT “”
WHILE INKEY$ = “”: WEND ‘delay until keyboard character entry
RETURN
displayaddr: ‘Display UART (U5) Address
CLS : PRINT “”
PRINT “UART Address = “;
IF OFFSET = 1 THEN PRINT “8000H + “;
PRINT x$ + “ (HEX “; RIGHT$(HEX$(PRIMARY), 4); “)”
PRINT “”: PRINT “Press any key to continue.”
WHILE INKEY$ = “”: WEND
RETURN
sendmsg: ‘send message to GPS module
GOSUB getchecksum
FOR i = 1 TO LEN(gpsmsg$)
Komentáře k této Příručce