Не смотря на ваше противодействие, попробую всё-таки вам помочь. Какой CRC вам нужен я от вас так и не добился. Исходя из ваших слов "...проверять CRC при считывании показаний дабы быть уверенным что получил именно значение температуры измеренное датчиком..", пробую предположить что нужно CRC SRAM. Так вот, если вы подключите датчик к 10 цифровому пину Ардуино (не забыв подтянуть его на VCC резистором 4,7 кОм) и запустите пример "DS18x20_Temperature" из библиотеки OneWire, то в мониторе порта с периодичностью в 1 секунду начнут появляться строки
ROM = 28 FF 40 33 72 16 4 E6
Chip = DS18B20
Data = 1 6D 1 4B 46 7F FF C 10 68 CRC=68
Temperature = 22.81 Celsius, 73.06 Fahrenheit
No more addresses.
Обращаем внимание на конец третьей строки, а именно на CRC=68. Это и есть так необходимый вам CRC в шеснадцатиричной форме. На первую единичке в строке Data можете не обращать внимание. Это создатели библиотеки так оригинально обозначили признак наличия устройства на шине(1- есть, 0-нету). Далее идут 9 байт SRAM. В последнем байте CRC который вычисляется по первым 8 байтам.
Если вдруг понадобится CRC ROM, то обращаем внимание на первую строку
ROM = 28 FF 40 33 72 16 4 E6
28 - код семейства микросхем DS18B20
Последующие 48 бит - уникальный серийный номер устройства
E6 - CRC ROM который вычисляется аналогично CRC SRAM.
Ну вот вы имеете всё что хотели - код выдающий все CRC которые можно выдавить из датчика, исходные байты по которым он вычисляется. Что с этим всем вы будете делать?