Да, вы можете использовать расчет CRC, потому что CRC рассчитывается также на стороне приемника контроллерами связи.Вот как, например, обнаруживается ошибка CRC.Для уточнения:
батарея отправляет полное сообщение;сообщение получает помехи на физическом уровне;получатель (ваш PIC) получает сообщение и рассчитывает CRC на нем; не соответствует с тегом CRC, включенным в сообщение;PIC CC будет иметь ошибку записи +1 и не будет получать сообщение от батареи.
Вы обнаружите каждый тип ошибки сообщения CAN на стороне получателя , за исключением бита Error, который также не имеет значения, поскольку приведет к неполному сообщению.
По сути, вы не должны полагаться на содержимое полученного сообщения CAN для определения уровня заряда батареи, , если сообщение повреждено (мусор) .Он просто отбрасывается до того, как прибудет на прикладной уровень вашей PIC.