Madf писал(а):Не хочу тебя огорчать, но у меня двое с матовыми ремнями.)
Умеешь взбодрить
Перевожу wireless update (RFBSL) на асм и обнаружил замечательную ошибку в rf1a.c. Вот еще одно преимущество асма, более строгий контроль за кодом, что не увидишь в коде си - резко бросается в глаза при переводе на асм
Значица так, в rf1a.c, функция "u8 Strobe(u8 strobe)" есть проверка на правильность диапазона входных данных:
- Код: Выделить всё
if ((strobe == 0xBD) || ((strobe > RF_SRES) && (strobe < RF_SNOP)))
RF_SRES и RF_SNOP выпадают из обработки. Должно быть так:
- Код: Выделить всё
if ((strobe == 0xBD) || ((strobe >= RF_SRES) && (strobe <= RF_SNOP)))
Гугление этой проблемы вывело на:
http://e2e.ti.com/support/microcontrollers/msp430/f/166/p/86049/297023И еще скачивается какой-то модифицированный
rf1a.c, который очень сильно отличается от штатного, но в этом месте ошибка исправлена. Ссылка хитрая, не посмотреть где этот файл используется, если кто-то сможет найти концы, будет круто...