А вообще это неверный алгоритм. Надо закладывать чтение несколько раз, в случае возможных сбоев. Неверные результаты следует отбрасывать и всего делов. CRC для этого и существует, не правда ли ? ;)
Кроме того, у некоторых датчиков существует редкая внутренняя ошибка. Результатом которой является неверная выданная температура. CRC при этом не искажается.