Общие сведения о протоколе
Общее описание протокола удаленного управления приборами
производства ООО "Микроакустика" по протоколу MIKRONET.
Общее описание протокола удаленного управления приборами
производства ООО "Микроакустика" по протоколу MIKRONET.
Для расчета CRC требуется 16-битное беззнаковое слово.
Перед началом расчета это слово должно быть проинициализировано значением 0xFFFF.
Данные добавляются к CRC побайтно с помощью следующей функции:
void crc16_add_byte(unsigned short *pcrc, unsigned char data) { unsigned char flag; unsigned char i; unsigned short crc = *pcrc; for(i = 1; i <= 8; i++) { flag = (((data & 0x01) ^ (crc & 0x0001)) != 0); data >>= 1; crc >>= 1; if(flag) { crc |= 0x8000; crc ^= 0x26bc; } } *pcrc = crc; } |
После последовательного добавления всех данных к CRC полученное значение сравнивается со значением CRC из принятого пакета. В случае несовпадения пакет отбрасывается.