05-05-2022, 01:55 PM
(05-05-2022, 11:01 AM)I've implemented these function to handle serial: Wrote:Most important parts:Code: (Select All)Function ser.open% (ser$) ' e.g. ser$="COM1:9600"
On Error GoTo Errhandler
Open ser$ + ",N,8,1,BIN,CS0,DS0,RB8192" For Random As #88
If errorNum = 0 Then serBytes$ = ser.read$
On Error GoTo 0
ser.open% = errorNum
End Function
Function ser.close$ ()
ser.close$ = ser.read$
Close #88
End Function
Sub ser.send (bytes$)
Dim b As String * 1
For i% = 1 To Len(bytes$)
b = Mid$(bytes$, i%, 1)
Put #88, , b
Next i%
End Sub
Function ser.read$ ()
Dim b As String * 1: resp$ = ""
Do While Loc(88)
Get #88, , b: resp$ = resp$ + b
Loop
ser.read$ = resp$
End Function
",BIN,CS0,DS0,RB8192" in open statement
to read: Do While Loc(88):Get #88, , b: resp$ = resp$ + b:Loop
to write: Dim b As String * 1:b = Mid$(bytes$, i%, 1)ut #88, , b
45y and 2M lines of MBASIC>BASICA>QBASIC>QBX>QB64 experience