Официальный сайт компании Arduino по адресу arduino.cc
AM2320 CRC код
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Пт, 26/08/2016 - 20:59
Добрый День
В ходе изучения сенсора температуры и влажности АМ2320 возник вопрос касательно CRC кода. То есть какую он несет функцию (предполагаю как контрольная сумма при передачи данных от сенсора).
Может кто то пояснить метод его расчета (CRC code calculation method)? Мои познания английского не дают полной картинки из datasheet'а AM2320 или хотябы пояснить нижеследующий код.
unsigned int CRC16(byte *ptr, byte length) { unsigned int crc = 0xFFFF; uint8_t s = 0x00; while(length--) { crc ^= *ptr++; for (s = 0; s < 8; s++) { if ((crc & 0x01) != 0) { crc >>= 1; crc ^= 0xA001; } else crc >>= 1; } } return crc; }
Заранее спасибо
как контрольная сумма для проверки правильности передачи
погуглите. если не ошибаюсь это есть сумма семи байт в степенях. не помню в 2 или в разных.