demanik, а вы бы не могли пояснить какая переменная для чего используется вот в этом примере? : Вот кусок проги от датчика SHT только не помню это CRC16 или CRC8 у них алгоритм похожий.
Code
GetSHTCRC:'---- Расчет CRC ------------------------------
CRCCalc = 0
DataByte = tmp1
GOSUB Calc_CRC
DataByte = RawData.HIGHBYTE
GOSUB Calc_CRC
DataByte = RawData.LOWBYTE
GOSUB Calc_CRC
CRC = CRC REV 8
RETURN
Calc_CRC:'------------ CRC Bit Calcuation Method -----------------------------
FOR tmp = 0 TO 7
DataBit = CRCCalc.7 ^ DataByte.7
DataByte = DataByte << 1
IF DataBit = 0 THEN ShiftSHT
CRCCalc = CRCCalc ^ $18
ShiftSHT:
CRCCalc = CRCCalc << 1
CRCCalc.0 = DataBit
NEXT tmp
RETURN