ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
5 июля
128933 Топик полностью
Alex B. (26.08.2008 19:01, просмотров: 48) ответил nick507 на EFS_MAGIC понятно, а с контрольной суммой почему uint32_t? В 529й точно ошибка :( Вечером поправлю. Насчет проверок - да, у меня ворнинги выключены видимо. А с fs_assert вроде не прокатит, т.к. это в плюсах объявление переменной внутри блока возможно, а
Варнинги надо включать, а то будет такая же беда, как с 529 строкой. по поводу контрольной суммы - несмотря на то, что sum - беззнаковое, выражение ((256 - sum) & 0xFF) вычисляется со знаком. Сдвиг приведет к расширению знака на старшее 16-битное слово. Поэтому если старший бит ((256 - sum) & 0xFF) будет равен 1, то и контрольная сумма получится неправильной (типа 0xFFFF8055 вместо 0x00008055). Отсюда будет ошибка при проверке.
Согласуйте импеданс!