ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
24 апреля
895595 Топик полностью
Boвa (12.01.2019 17:48 - 23:53, просмотров: 323) ответил AlexG на когда МК работает при нештатном напряжении питания это вы считаете что там записи нет, а реально может совсем по другому получиться
Контроллер при сбое тактирования может случайно забежать в функцию записи в ЕЕPROM, и выполнить запись того мусора который есть в стеке, но вероятность этого можно снизить если в начале функции записи проверять специальную переменную в ОЗУ. Если в переменной EEPROM_WR код отличается от ключевого (например от 0x5A), то игнор записи. В процессе записи переменная EEPROM_WR сразу же сбрасывается в 0. void EEPROM_write(unsigned int uiAddress, unsigned char ucData) { if(EEPROM_WR!=0x5A) {NaLamansh();}// какой-нибудь код для приведения контроллера в // адекватное состояние или джамп на ресет else { EEPROM_WR=0; ...//код записи в EEPROM } } Естественно перед вызовом функции записи следует каким-то образом устанавливать переменную EEPROM_WR (желательно замысловатым). Хотя конечно никакой гарантии от сбоев все равно нет.