Уважаемые знатоки! Правильно ли я понял что такое EEPROM? Атмел 328 - это 1024 числа(ввиде байта памяти ЕЕПРОМА), каждое из которых имеет значение от 0-255, по умолчанию значение 255. Эти числа могут быть изменены пользователем или программно на другое значение и использованы в ходе исполнения скетча? Везде вроде по русски написано, но если с этим не сталкивался , то не всё понятно.
Это энергонезависимая память. То, что туда записано, сохраняется после отключения питания. А в ходе исполнения скетча данные хранятся в ОЗУ.
да. забыли написать про самое главное свойство - эти числа не меняются при отключении питания или сбросе микроконтроллера.
Это 1024 ячейки, в каждую из которых можно записать положительное число от 0 до 255. При выключении питания или reset информация в них остается. Гарантированное количество циклов записи - 10000. Это 13,5 лет, если записывать дважды в сутки, либо 40 секунд, если записывать непрерывно, поэтому к операции программирования записи в EEPROM надо подходить аккуратно, а перед записью лучше проверить - а надо ли сейчас записывать в EEPROM?
Отрицательное число не исключение. EEPROM удобно использовать, например, сохранение, каких либо калибровок датчиков или настроек программы.
-252 в дополнительном коде занимает девять бит, а в ячейке только восемь. С таким же успехом можно попросить записать в ячейку 1000 (тысяча десятичная), не затрагивая других.
Просто нужно говорить не о записи чисел в ячейку, а о записи байтов. Если число весит 2 байта, то оно займет 2 ячейки и пофиг, положительное оно или отрицательное. Если число с плавающей точкой - тоже не проблема, смотрим, сколько оно весит и точно так же пишем его. Такая же фигня со структурами. А можно в одном байте и несколько чисел хранить. Память измеряется в байтах, а о числах уместно говорить в контексте переменных.
Можете заранее выделить необходимое число байтов под тип переменной. И записывать любое значение. Все равно вы должны помнить, какой формат представляют числа, нет конкретно приема определения, что храниться в ячейке: число без знака или число со знаком.