Ну это сути не меняет, какое бы назначение у них не было, их инициализация отъедает флеш.alexdob писал(а):...я не понял назначение(да и значения) этих магических переменных...
А так назначения такие:
eeprom byte SINum - номер активного паяльника
eeprom byte SIParam[COUNT_IRONS][6] - массив настроек (кP, кI, порог засыпания, тип термодатчика, вкл/выкл вибродатчик, порог пробуждения) для каждого паяльника
eeprom int ClbCmp[COUNT_IRONS][2] - массив с калибровочными коэффициентами (начальный сдвиг и множитель) для каждого паяльника, после калибровки значения изменяются
eeprom int eTP[COUNT_PRESET] - пресеты температуры
eeprom byte eiTP - индекс текущего пресета
eeprom int eLastTemp - последняя рабочая температура (если она не выбиралась из массива пресетов)
eeprom int eStbTemp - температура стендбая
eeprom byte eTVal - значение таймера в мин.
В принципе можно отказаться от инициализации всех этих значений и заставить пользователя их внести потом вручную, но КМК, залить еепром таки проще.
Я не совсем понял, что за функции eeprom_update_block и eeprom_update_byte? В CVAVR значения переменным из еепрома присваиваются аналогично обычным переменным, просто через =.
это уже спортивный интерес.

