User`s manual
FX communication
Computer link 7
7-19
7
190 HED$ = LEFT$(BUF$.1)
200 IF HED$ = STX$ OR HED$ = NAK$ THEN GOTO *REC1 ELSE GOTO *REC0
210 *REC1 :
′
Reception of remaining data
220 IF HED$ = STX$ THEN RVCNT = STCNT-1
230 IF HED$ = NAK$ THEN RVCNT = NACNT-1
240 GOSUB *RECWAIT
250 IF ERFLG = 99 THEN GOTO *ERRORFIN1
260 BUF$ = BUF$ + RCV$
270 *PRINTRDATA :
′
Display of received data
280 PRINT
″
Received data
″
290 PRINT
″
HEX ASCII
″
300 FOR I=1 TO LEN(BUF$)
310 PRT1$ = MID$(BUF$,I,1)
320 PRT1$ = HEX$(ASC(PRT1$))
330 IF PRT2$ =
″
2
″
THEN PRINT
″
″
;
″
02
″
;
″
STX
″
:GOTO 370
340 IF PRT2$ =
″
3
″
THEN PRINT
″
″
;
″
03
″
;
″
ETX
″
:GOTO 370
350 IF PRT2$ =
″
15
″
THEN PRINT
″
″
;
″
15
″
;
″
NAK
″
:GOTO 370
360 PRINT
″
″
;PRT2$;
″
″
CHR$(&H22);PRT1$;CHR$(&H22)
370 NEXT I
380 IF HED$ = NAK$ THEN GOTO *ERROROFIN2
390 *DATACHECK :
′
Check of received data
400 DDATA$ = STX$ +
″
00FF04ABCD
″
+ ETX$ +
″
5D
″
:
′
Normal data
410 FOR J=1 TO LEN(BUF$)
420 RDATA$ = MID$(BUF$,J,1)
430 ODATA$ = MID$(DDTA$,J,1)
440 IF RDATA$ <> ODATA$ THEN GOTO *ERRORFIN3
450 NEXT J
460 PRINT
″
Received data is normal
″
470 PRINT
″
Loopback test complete
″
:GOTO *FIN
480 *ERRORFIN1
490 PRINT
″
Data is not received at all or data content is insufficient.
″
500 GOTO *FIN
510 *ERRORFIN2
520 ERRORCODE$ = MID$(BUF$,6,2)
530 PRINT
″
Error code
″
;ERRORCODE$;
″
H is received.
″
540 GOTO *FIN
550 *ERRORFIN3
560 PRINT
″
Received data is abnormal.(
″
;J;
″
-th character)
″
570 *FIN
580 CLOSE #1
590 END
600 *RECWAIT :
′
Wait for receive
610 FOR I=1 TO T0
620 RCV$ =
″″
630 IF LOC(1) => RVCNT THEN GOTO *BUFIN
640 NEXT
650 IF RCV$ =
″″
THEN ERFLG=99
660 RETURN
670 *BUFIN :
′
Reading of received data
680 RCV$ = INPUT$(RVCNT,#1)
690 RETURN