Есть код который читает 24 аналоговых каналов через мультиплексоры, 5 каналов частотных, 1 канал энкодер.
Необходимо реализовать чтобы канал энкодера сохранял каждые 10 секунд данные в eeprom, при инициализации он эти данные должен с eeprom забирать и продолжать отсчет с последнего сохраненного значения.
Также для устройства необходимо реализовать протокол modbus rtu.
Желательно исполнитель в Красноярске, чтобы я мог обеспечить железом.
Только читать энкодер и сохранять каждые 10 сек? Легко.
ТС ты все правильно расписал ?
Может все же , энкодер меняет какую то переменную и ее нужно сохранять, а не состояние энкодера ?
Может не на время завязывать алгоритм записи, а на изменения состояния переменных среды? А то eeprom при такой интенсивности записи, может неожиданно умереть через годик другой.
Не совсем понял о каких событиях идет речь. Запись нужна по той причине, что питание устройства может пропасть неожиданно. В описании я неправильно написал, 10 минут надо было))
Ни чего себе ошибочка в 60 раз. Так у вас энкодер постоянно крутится каким то механизмом? Как связаны между собой ваши 24 аналоговых и 5 частотных канала с положением энкодера? Как осуществляется привязка энкодера при старте к каналам? При пропадании напряжения, Все каналы сохраняют свои значения? Если не секрет, что представляет из себя изделие, на которое вы заказываете код, да ещё и для ESP32? Может человеку, кто будет писать, поможет оценить всю картину в целом. И путь реализации будет избран другой, более функциональный, нежели как видите его вы.
Да, энкодер практически постоянно в движении, с разной скоростью валом подъемного механизма.
Аналоговые каналы работаю 3 пинам, переключение происходит 8ми канальными мультиплексорами 74HC4051N.
Каналы между собой ни как не связанны, каждый сам за себя.
Привязка энкодера на данный момент ни как не привязана к памяти, начинает отсчет всегда со статически прописанного значения.
При пропадании электроэнергии достаточно только энкодер считать, остальные каналы не важно.
Изделие представляет из себя, даже честно сказать не знаю как его назвать, просто устройство, ранее работало на Atmega328,48. Устройство нуждается в расширении функционала, потому отказался от 328,48, та как памяти не хватит, но это будет следующий этап, сначала надо этот основной закончить.
что это за зверь такой?
Даже не знаю что тут можно ответить. Загугли лучше.
в моем гугле такого нет.
Есть атмега328 и есть атмега48. Но вряд ли ты имел в виду последнюю, ибо памяти у ней вообще с наперсток
А 328,48 - такого нет
Еще есть запятая, которая имеет ввиду перечисление.
молодец, вывернулся
Тогда после запятой пробел положен
Чувствую себя невеждой )