ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
3 июля
813175 Топик полностью
lloyd (30.01.2018 21:59, просмотров: 124) ответил VVB на 99.9% причина в отсутствии volatile для тех переменных или периферийных регистров, которые изменяются в прерывании или аппаратно и используются вне прерывания.
Там было все куда прозаичнее. Код работы с eeprom был безжалостно скопипащен из какого-то проекта найденного на гитхабе. Он не учитывал, что I2CMasterBusy() == false вовсе не гарантирует, что удаленная периферия действительно ответила на запрос. Короче скопипастил быдлокод чуть поприличнее и все заработало. Меня теперь тревожит другой вопрос: как оно работало _до_ этого?