Вчера пытался компилировать в GCC без оптимизации так он отказывался... Ставил везде-везде volatile - не помогало. В AVR Studio видно, что осталось от кода:
Код
uintX_t crc32_add( uintX_t crc, uint8_t byte )
{
crc ^= byte;
uint8_t i = 8;
do
{
crc >>= 1;
}
while(--i);
return crc;
}
Вот этот кусок отсутствует полностью. Типа младший бит всегда 0

Нашлиииии! А как починить?
Код
if (crc & 1)
{
crc = (crc>>1) ^ CRC32_POLYNOME;
}
Спасибо FormatCft, направил меня на путь истинный
Сообщение отредактировал Злодей - Apr 30 2009, 08:54