Возможности EEPROM

Я новичок в этой платформе, и на самом деле это мой первый вопрос здесь. Итак, я могу читать и записывать любые цифры в Arduino EEPROM, и он работает, как и ожидалось. Можно ли выполнить сравнение, чтобы проверить, сохраняется ли определенное число в EEPROM, и если оно не равно нулю, мы печатаем что-то на последовательном мониторе? В основном все, что я говорю, это то, что можно прочитать что-то из EEPROM и сравнить это с чем-то, что не хранится в EEPROM? Я хочу, чтобы эта проверка происходила, когда я включаю Arduino. Где 65 — это адрес, который помогает мне читать сохраненные данные из EEPROM, а ag — это переменная, которая содержит данные, считанные из EEPROM. Я буду очень рад любой помощи, оказанной на платформе

, 👍0

Обсуждение

Конечно, это возможно. Что вы пробовали?, @Edgar Bonet

Не отвечайте на мой комментарий в комментарии. Вместо этого отредактируйте свой вопрос и добавьте код минимального, полного и **проверяемого** примера. Четко объясните, что вы ожидали от этого кода, а затем то, что он сделал на самом деле., @Edgar Bonet

попробуйте EEPROM.get(65, ag); if (ag == 0) {.... Что такое аг? Почтовый индекс в виде текста, пожалуйста, @Juraj

juraj, не работает пробовал несколько раз, @Sigma

что? разместить код в виде текста?, @Juraj

Добавил новую картинку надеюсь поможет, @Sigma


1 ответ


1

У меня есть несколько проблем с вашим "способом кодирования".

  1. Используйте операторы if(){...}else{...}. А не "if(){...}else..."
  2. Учитывайте свою идентификацию, выберите "Инструменты" > "Автоформат".
  3. Прочитайте и поймите сообщение об ошибке.
  4. Используйте правильные функции
  5. Если ничего не помогает; и вы запрашиваете помощь онлайн; КОПИРУЙТЕ И ВСТАВЬТЕ код; сделайте минимальный рабочий пример, чтобы показать проблему. Просто пустой проект, в котором вы ТОЛЬКО пытаетесь прочитать значение EEPROM. И вставьте его вместе со своим вопросом; чтобы мы могли скопировать его и опробовать на своей стороне.

Прочитайте и поймите сообщение об ошибке

Строка с "задержкой 2000;" подсвечивается, и ошибка "ожидается ';' до создания числовой константы".

Это означает, что "Числовая константа" "2000" размещена неправильно; или что он ожидает ";" перед этим.

Несмотря на то, что ставится ";" не исправит; это должно указывать на то, что что-то не так с вызовом функции задержки и/или значением «2000», которое вы ей передаете.

Вы забыли заключить в скобки ( ) аргументы после функции задержки. См. также свой собственный код в строке 190; измените строку 185 на «задержка (2000);» и вы должны быть готовы идти.

Пожалуйста, постарайтесь уделить больше внимания своему коду; не сделав этого; ваш код тоже не сработает.

Используйте правильные функции/примеры:

Пожалуйста, основывайте свой код на официальном примере кода, а не на случайном коде, который вы нашли в Интернете; прочитайте актуальную справочную документацию самого Arduino. Чтение EEPROM Arduino

#include <EEPROM.h> //Поместите это вверху вашего файла/кода
int address = 0; // Адрес EEPROM для чтения.
byte value = EEPROM.read(address); //Читаем и сохраняем в 'value'
,

Пол, спасибо, на самом деле я думаю, что торопился и забыл кучу вещей, и вы правы, я просто подумал, что сделал глупые ошибки. На самом деле я не получаю коды из Интернета, я сажусь и пытаюсь собрать вещи вместе, хотя это была настройка, и я думаю, что я устал, лол, я не мог понять это, как некоторые коллеги по платформе. Большое спасибо, Пол, позвольте мне попробовать, посмотрим, сработает ли это., @Sigma