Вопрос не глупый. Это просто артефакт, лишнее, не подчищенное. Можно вполне убрать вложение в структуру. Сделать сразу typedef union{...}counter_value_t
Немножко не понял вопроса. Страница разбита на 4 сектора по 256 4-х байтных слов. И каждый из этих секторов стирается отдельно. Т.е. для перехода на запись в следующий сектор его предварительно очищают. Когда у вас все 4 сектора заполнены происходит стирание первого сектора и переход от четвертого сектора к первому. При этом предыдущие данные сохраняются в четвертом секторе.
Да, мы пробовали всякие супервизоры питания. В диапазоне температур -50 +50 и термоциклировании и утечек отечественных электролитов сложно говорить о надёжности супервизоров. В итоге решение периодически записывать в энергонезависимую память, тем более, что она доступна непосредственно в МК оказалось самым надёжным.
Производитель память программ в даташите называет EEPROM PROGRAM областью. И контроллер Flash-памяти программ называет MDR_EEPROM. Есть определенная путаница в формулировках, конечно.
Данная схема индикации довольно известная и приведена в справочных целях. Ни о каком ЕСКД речи не идет. Но в будущем учту. Тоже касается конденсаторов по питанию. Контроллеру отдыха предостаточно. Возможностью схемы является то, что МК достаточно раз в одну-две секунды перезагружать регистры новыми значениями, а не заниматься динамической индикацией. Про подтягивающие регистры — верное замечание. OE через 10 к +питанию подтянуть, чтобы в момент запуска светодиоды зря не зажигались.
Зигзаги диктуются удобством разводки. Разводчики печатных платы сами могут переподключать индикаторы, как им удобнее, соответственно это влияет на код.
Да, на отечественном МК 1986BE92QI. Но код писался, как можно абстрактнее, чтобы была возможность перенести под любой другой контроллер, может даже и в ущерб производительности.
Вопрос не глупый. Это просто артефакт, лишнее, не подчищенное. Можно вполне убрать вложение в структуру. Сделать сразу typedef union{...}counter_value_t
Немножко не понял вопроса. Страница разбита на 4 сектора по 256 4-х байтных слов. И каждый из этих секторов стирается отдельно. Т.е. для перехода на запись в следующий сектор его предварительно очищают. Когда у вас все 4 сектора заполнены происходит стирание первого сектора и переход от четвертого сектора к первому. При этом предыдущие данные сохраняются в четвертом секторе.
Спасибо за ссылку, очень интересная статья!)
Да, мы пробовали всякие супервизоры питания. В диапазоне температур -50 +50 и термоциклировании и утечек отечественных электролитов сложно говорить о надёжности супервизоров. В итоге решение периодически записывать в энергонезависимую память, тем более, что она доступна непосредственно в МК оказалось самым надёжным.
Надо будет опробовать ваше решение. Только батареечное питание ставить не вариант, но можно ионистор прикрутить.
Производитель память программ в даташите называет EEPROM PROGRAM областью. И контроллер Flash-памяти программ называет MDR_EEPROM. Есть определенная путаница в формулировках, конечно.