Appendices FCS Calculation Method
Appendices
■Calculation Programming Example for Sending FCS
DATA$ | Sample data string |
|
|
L | Data length |
|
|
CODE$ | Data character |
|
|
A | Exclusive OR |
|
|
100 ’* * * * * CALCULATE FCS * * * * *
110’* FCSSET
120L=LEN(DATA$)
130A=0
140FOR J=1 TO L
150CODE$=MID$(DATA$,J,1)
160A=ASC(CODE$)XOR A
170 | NEXT J |
180 | FCS$=HEX$(A) |
190 | IF LEN(FCS$)=1 THEN FCS$=“0”+FCS$ |
200RETURN
■FCS Check Subroutine Example for Received Data
1000 | ’* * * * * FCSHECK * * * * * |
|
1010 | ’* FCSHECK |
|
1020 | Q=0:FCSCK$=“OK” |
|
1030 | PRINT RESPONSE $ |
|
1040 |
| |
1050 | FCSP$=MID$(RESPONSE$,LENGS+1,2) | ’FCS in response data |
1060 | FOR J=1 TO LENGS | ’Calculation range of FCS |
1070 | Q=ASC(MID$(RESPONSE$,J,1))XOR Q |
|
1080 | NEXT J |
|
1090 | FCSD$=HEX$(Q) |
|
1100 | IF LEN(FCSD$)=1 THEN FCSD$=“0”+FCSD$ | ’FCS calculated in a program |
1110 | IF FCSD$ < > FCSP$ THEN FCSCK$=“ERR” |
|
1120 | PRINT “FCSD$=”;FCSD$;“FCSP$=”;FCSP$; | ’FCS received correctly: OK |
| “FCSCK$=”;“FCSCK$=” | ’FCS not received correctly: |
|
| ERR |
1130 | RETURN |
|
86
User’s Manual