Работа на коммуникационной шине SPI между массивом микроконтроллеров SAMD.
У меня есть входящий пакет, который похож на { 0x00, 0xFF, 0x00, 0xFF }
. Чип приемника выполняет проверку CRC16 входящего пакета.
Поскольку я ожидаю один и тот же пакет каждый раз, я хочу иметь нулевую контрольную сумму CR C, когда пакет действителен, и не нулевую контрольную сумму при ошибке передачи.
I знаю, что я могу добавить вычисленный CRC16 в конец пакета при отправке и на стороне получателя проверка CR C выдаст 0, но в этом случае невозможно добавить контрольную сумму CRC16 в пакет, так как пакет создается несколькими чипами отправителя на линии SPI, и каждый чип заполняет только два своих байта из всего пакета.
Мне нужно загрузить начальную контрольную сумму CR C на стороне получателя, поэтому после входящего пакет проверен, результирующий CR C равен нулю (если пакет не поврежден).
Ответ здесь на SO на самом деле то, что я ищу, но это для CRC32 формат, и я на самом деле не понимаю принцип кода, поэтому я не могу переписать, если для формата CRC16.
Любая помощь будет принята с благодарностью!
* 101 7 * С уважением, Нико