CRC7

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
Hello, All!
После некоторых раздумий у меня получилось вот что:

unsigned char calc_crc7(unsigned char *ptr, signed char count ){
  char ch,crc,c,x0,x3;
  unsigned char i;
  crc = 0;
  while (--count >= 0)
  {
     ch = *ptr++;
     i = 8;
    do {
       c = (ch & 0x80) >> 7;
       ch = ch << 1;
       x3 = (crc & 0x40) >> 6;
       x0 = (crc & 0x04) >> 2;
       crc = (crc << 1) & 0xF6;
       c = (c ^ x3);
       crc |= c;
       crc |= ((c ^ x0) << 3);
    } while(--i);
  }
  return (crc);
}
Работает правильно, но что то мне подсказывает что это не оптимально,
ни по скорости,  ни по использованию ресурсов.
Какие будут предложения?
Так же интересует реализация в потоке.

With best regards, .  E-mail: snipped-for-privacy@p80.f.n6023.z2.fidonet.org


Re: CRC7

Quoted text here. Click to load it

http://www.andrey.nnov.ru/lib/crc.zip

--
Best regards,
Anton Fedorov

Site Timeline