home *** CD-ROM | disk | FTP | other *** search
- ' $INCLUDE: 'QBSERIAL.DEC'
-
- DEFINT A-Z
- CLS
-
- ' The following lines are used to retrieve the driver copyright
-
- X& = DriverCopyright
- WHILE (PEEK(X&))
- CP$ = CP$ + CHR$(PEEK(X&))
- X& = X& + 1
- WEND
- PRINT CP$
- PRINT
-
- CRLF$ = CHR$(13) + CHR$(10)
- Port = 1
- Length = 8
- Parity = 0
- Rate& = 9600
- HS = 0
-
- ' Comm port initilization call format:
-
- ' OpenComm Port%, IRQ%, Wordlen%, Parity%, Baudrate&, Handshake%
-
- OpenComm Port, 0, Length, Parity, Rate&, HS
-
- CarrierDetect 1 ' <-- Temporarilly disable UEVENT trip
- ' to allow data to be transmitted without
- ' presence of CD signal
-
- ON UEVENT GOSUB CarrierLoss
- UEVENT ON
-
- '***************************************************************************
- ' Your CODE goes here. Heres an example:
-
- ' To send data out
-
- Transmit "This is transmitted out the serial port." + CRLF$
- Transmit STRING$(25, CHR$(215)) + CRLF$
-
- 'To get data from remote (or local) keyboard.
-
- Temp$ = "Enter data: "
- PRINT Temp$
- Transmit Temp$
- Transmit CRLF$
- GOSUB KeyboardInput
- PRINT
- Temp$ = "You entered: " + A$
- PRINT Temp$
- Transmit Temp$
-
- CarrierDetect 1 ' <-- Re-enable carrier detection. Carrier had
- ' better be true or UEVENT willl occur on
- ' next Transmit
-
- Transmit CRLF$
-
- DTRcontrol 0 ' <-- Turn OFF the DTR line
- SLEEP 1
- DTRcontrol 1 ' <-- Turn ON the DTR line
- SLEEP 1
- DTRcontrol 0
- SLEEP 1
- DTRcontrol 1
-
- ' Your code ends here
- '****************************************************************************
-
- 'VERY important ending step - if you forget this, you CRASH sometime later.
- 'But ONLY restore the vectors if you actually took them, otherwise
- 'you'll cause a crash for other reasons.
-
- RestoreInt:
-
- CloseComm
- END
-
- CarrierLoss:
-
- CLS
- Temp$ = "Loss of Carrier has been detected."
- PRINT Temp$
- GOTO RestoreInt
-
- 'Keyboard input scan. Fetches characters from the remote keyboard.
- 'Echo's characters as enetered. Returns on carriage return.
-
- KeyboardInput:
-
- A$ = ""
- InCount = 0
- ClearInputBuffer
- DO
- DO
- Hit$ = INKEY$
- IF Hit$ <> "" THEN EXIT DO
- LOOP UNTIL DataWaiting
- I$ = ""
- IF Hit$ = "" THEN
- DO WHILE DataWaiting
- I$ = I$ + CHR$(ReadChar)
- LOOP
- ELSE
- I$ = Hit$
- END IF
- TookIn = LEN(I$)
- IF I$ = CHR$(8) THEN
- IF InCount THEN
- ' Your code to handle Backspace key goes HERE ********
- ' Dont forget to send the Backspace sequence out to the
- ' Com port also with Transmit.
- ' I did not include it because I did not know how every one
- ' might handle it. I send a Chr$(8) + Chr$(32) + Chr$(8) to
- ' both the screen and Comm port.
- END IF
- END IF
- IF I$ = CHR$(13) THEN EXIT DO
- I$ = UCASE$(I$)
- IF I$ > CHR$(&H1F) THEN
- Transmit I$
- PRINT I$; ' You may need to echo in a different way *******
- ' Such as if you dont want direct screen writes.
- A$ = A$ + I$
- InCount = InCount + TookIn
- END IF
- LOOP
- RETURN
-
-