|
Температура у термометра - это, к примеру
struct __ds1820_scratch_pad_struct
{
unsigned char temp_lsb,
temp_msb,
user_high,
user_low,
res1,
res2,
cnt_rem,
cnt_c,
crc;
} __ds1820_scratch_pad;
А CRC считается как
unsigned char CRC8(unsigned char *ptr, unsigned char count)
{
unsigned char crc=0;
unsigned char i, c, tmp;
while (count-- != 0)
{
c = *ptr++;
i = 8;
do
{
tmp=c;
tmp ^= crc;
crc >> = 1;
c >> = 1;
if(tmp & 1)
{
crc ^= 0x8C;
}
}
while(--i);
}
return crc;
}
Подставляете разный count и считайте на здоровье
E-mail: info@telesys.ru