Hi ,
I need help on this QBasic program. Can anyone please tell me how did this programmer send and read data from the external device ??
40 Screen 0: Cls
50 Print "Serial Test Program 1 - (C) Paul Stenning, 1994"
60 Print
61 INPUT ; "Which Serial Port (1 or 2) "; p$
62 If Len(p$) <> 1 Then Beep: Print " INVALID INPUT": GoTo 61
63 If Val(p$) < 1 Or Val(p$) > 2 Then Beep: Print " INVALID INPUT": GoTo 61
64 On Error GoTo 500
70 Open "COM" + p$ + ":9600,N,8,1,CS0,CD0,DS0" For Random As #1 Len = 1
72 Print " ok": Print: Print
74 On Error GoTo 600
80 INPUT ; a$
90 If a$ = "" Then Print "QUIT": Close #1: End
100 If Len(a$) <> 2 Then Print Tab(10); "INPUT ERROR": GoTo 80
101 a1% = Asc(UCase$(Left$(a$, 1))): a2% = Asc(UCase$(Right$(a$, 1)))
102 If (a1% > 47 And a1% < 58) Or (a1% > 64 And a1% < 71) Then GoTo 105
103 Print Tab(10); "INPUT ERROR": GoTo 80
105 If (a2% > 47 And a2% < 58) Or (a2% > 64 And a2% < 71) Then GoTo 110
106 Print Tab(10); "INPUT ERROR": GoTo 80
110 Print #1, Chr$(Val("&h" + a$));
120 TIMEOUT = Timer + 0.1
130 If EOF(1) And Timer < TIMEOUT Then GoTo 130
140 If Timer >= TIMEOUT Then Print Tab(10); "**": GoTo 80
150 a$ = Hex$(Asc(Input$(1, #1)))
160 If Len(a$) < 2 Then a$ = "0" + a$
170 Print Tab(10); a$
180 GoTo 80
I need help on this QBasic program. Can anyone please tell me how did this programmer send and read data from the external device ??
40 Screen 0: Cls
50 Print "Serial Test Program 1 - (C) Paul Stenning, 1994"
60 Print
61 INPUT ; "Which Serial Port (1 or 2) "; p$
62 If Len(p$) <> 1 Then Beep: Print " INVALID INPUT": GoTo 61
63 If Val(p$) < 1 Or Val(p$) > 2 Then Beep: Print " INVALID INPUT": GoTo 61
64 On Error GoTo 500
70 Open "COM" + p$ + ":9600,N,8,1,CS0,CD0,DS0" For Random As #1 Len = 1
72 Print " ok": Print: Print
74 On Error GoTo 600
80 INPUT ; a$
90 If a$ = "" Then Print "QUIT": Close #1: End
100 If Len(a$) <> 2 Then Print Tab(10); "INPUT ERROR": GoTo 80
101 a1% = Asc(UCase$(Left$(a$, 1))): a2% = Asc(UCase$(Right$(a$, 1)))
102 If (a1% > 47 And a1% < 58) Or (a1% > 64 And a1% < 71) Then GoTo 105
103 Print Tab(10); "INPUT ERROR": GoTo 80
105 If (a2% > 47 And a2% < 58) Or (a2% > 64 And a2% < 71) Then GoTo 110
106 Print Tab(10); "INPUT ERROR": GoTo 80
110 Print #1, Chr$(Val("&h" + a$));
120 TIMEOUT = Timer + 0.1
130 If EOF(1) And Timer < TIMEOUT Then GoTo 130
140 If Timer >= TIMEOUT Then Print Tab(10); "**": GoTo 80
150 a$ = Hex$(Asc(Input$(1, #1)))
160 If Len(a$) < 2 Then a$ = "0" + a$
170 Print Tab(10); a$
180 GoTo 80