Что-то никак не найду, как инициализировать EEPROM для файла прошивки? Пишу так: Код (C++): #include <EEPROM.h> #include <LiquidCrystal.h> LiquidCrystal disp(2, 3, 4, 5, 6, 7); unsigned char ID; unsigned char device_id EEMEM = 1; void loop() { ID = EEPROM[0]; disp.print(ID,HEX); - на дисплей выводит ноль! EEPROM[0] = 5; ID = EEPROM[0]; disp.print(ID,HEX); - на дисплей выводит 5 .... }
Тогда получается, если у меня 512 байт EEPROM нужно инициализировать, то это нужно как-то вычислять, была ли инициализация, потом в прошивке держать таблицу инициализации и плюс ко всему код самой инициализации - сколько памяти теряется... Хотя можно сделать вторую прошивку для инициализации EEPROM... Лишние телодвижения... А Arduino IE при заливке скетча никогда не трогает EEPROM?
Таблица пересчета значения АЦП в логику управления 8 выходов. Но не в этом суть. Например, первый байт - номер этого устройства в сети. При прошивке гораздо удобнее изменить один байт в файле, чем каждый раз перекомпилировать проект.
В ардуино нормальной работы с EEPROM не предусмотрено. Так что только делать отдельную прошивку для инициализации.
В файлах настройки. Но лучше использовать для этого профессиональный софт, а не софт для робокружков.
А что, CRC посчитать и если не совпадает - проинициализировать - не катит? Есть значения по умолчанию, если CRC не совпадает - записать значения по умолчанию.
Я не понимаю - что хотите инициализировать? Если таблица лежит в прошивке во флеше- пусть там и лежит. Зачем ее копировать в епром?
А как сделать, чтоб мой проект подхватывал эти файлы? Или может где толково расписано как это делать?
Не всегда катит, например: в еепром сидит ID этого устройства, а по умолчанию будет выставляться одно и тоже значение с соответствующими последствиями...
Ну Вам же его все равно нужно задать. Либо в коде, либо в через назначение в EEPROM. Можно время компиляции в качестве части ID использовать. На ESP - часть MAC адреса
Я вообще не понимаю из-за чего сыр-бор. Челдону надо создать два файла - один с программой, другой с данными для eeprom. Оба файла прекрасно заливаются через любой программатор.