1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79:
Public (42) как байт Общественное crc_value = 0 Общественное bitvalue как байт () Общественное bitcrc как байт () Общественное Const ПОЛИ как интежер = &H8005 Общественное len_upload как шнур = 80 Общественное msg_size_Upload как байт = len_upload Функция CRC_Check_Table_Upload (msg_size_Upload ByVal как интежер) как интежер Затемните I как интежер Затемните j как интежер Затемните msg как интежер crc_value = 0 message_size_Upload (0) = 97 message_size_Upload (1) = 140 message_size_Upload (2) = 105 message_size_Upload (3) = 188 message_size_Upload (4) = 51 message_size_Upload (5) = 79 message_size_Upload (6) = 99 message_size_Upload (7) = 92 message_size_Upload (8) = 64 message_size_Upload (9) = 162 message_size_Upload (10) = 19 message_size_Upload (11) = 109 message_size_Upload (12) = 76 message_size_Upload (12) = 48 message_size_Upload (14) = 48 message_size_Upload (15) = 49 message_size_Upload (16) = 55 message_size_Upload (17) = 57 message_size_Upload (18) = 6 message_size_Upload (19) = 76 message_size_Upload (20) = 48 message_size_Upload (21) = 48 message_size_Upload (22) = 49 message_size_Upload (23) = 55 message_size_Upload (24) = 57 message_size_Upload (25) = 56 message_size_Upload (26) = 49 message_size_Upload (27) = 51 message_size_Upload (28) = 69 message_size_Upload (29) = 69 message_size_Upload (30) = 54 message_size_Upload (31) = 129 message_size_Upload (32) = 16 message_size_Upload (33) = 89 message_size_Upload (34) = 62 message_size_Upload (35) = 230 message_size_Upload (36) = 1 message_size_Upload (37) = 213 message_size_Upload (38) = 107 message_size_Upload (39) = 21 message_size_Upload (40) = 82 'петли через сообщение байта Для I = 0 к msg_size_Upload - 1 msg = (message_size_Upload (40)) msg = (msg << 8) и &HFFFF 'петля через сообщение битов Для j = от 0 до 7 Если ((crc_value Xor msg) >> 15) > 0 после этого 'переносит значения бита CRC и сравнивает с ПОЛИ crc_value = ((crc_value << 1) Xor ПОЛИ) и &HFFFF Еще <<= 1 crc_value 'перенесите значения бита CRC crc_value = (crc_value) и &HFFFF Закончитесь если <<= 1 msg msg = (msg) и &HFFFF Следующий j Затем iий 'возвращает значение CRC в десятичной форме (номера) bitcrc = BitConverter.GetBytes (crc_value) Возвратите (crc_value Xor 0) Закончите функцию
1:
BitConverter.ToString (bitcrc)