Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
byte CheckCRC (char *buf, byte len)
{
byte tmp, acc;for (tmp=0; tmp<75; tmp++) {
if (buf[tmp]=='*') break;
acc ^= buf[tmp];
}
buf += tmp;
buf++;
tmp = (acc & 0xF0) >> 4;
if (tmp<0x0A) tmp |= '0';
else tmp += 'A'- 0x0A;
acc &= 0x0F;
if (acc<0x0A) acc |= '0';
else acc += 'A'- 0x0A;
if ((tmp!=*buf++) && (acc!=*buf))
return 1;
return 0;
}//CheckCRC
Составить ответ | Вернуться на конференцию
Ответы