ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
272370 Топик полностью
Vladimir Ljaschko (15.09.2011 11:49, просмотров: 632) ответил mazur на Не совсем понятно это:
Ответ 1) Именно так, у меня единый автомат на все состояния устройства, будь это редактирование значений или полноценная работа. Почему должны быть отличия? - на дисплей выводятся данные в том и ином случае. Подходы, схожие с Л.И. - у меня событие "Новое состояние", а у него флаг ini. У меня включается помпа, у него перепрограммируется аппаратная логика. 2) По поводу корректировки значений - есть установочные значения в EEPROM, около сотни. Оформлены массивом. Все они имеют два байта размерности и доступ к ним идентичен, корректировка в одном состоянии меню, спрятанном в сервисном меню. Переменной может быть и флаг 0 или 1 - т.е. избыточность 16 раз, но я иду на это, потому что универсальность корректировки важнее. Но там, где пользователю может непонятно, или есть сложные взаимоучеты значений, пишется специальный пункт меню в дополнение в обычной корректировке, где смысл значений раскрывается удобнее для пользователя. Если уж очень хочется сэкономить память, можно передавать в редактор индекс таблицы, в которой есть адрес редактируемого значения, его тип (например - число два байта, флаг 0 или 1, число 1 байт), адрес названия для вывода на экран. Так тоже делал. И эта таблица будет линейной, все сведется к выбору редактируемого значения из списка и переходу на редактор, соответвующий типу.