Возможности EEPROM
Я новичок в этой платформе, и на самом деле это мой первый вопрос здесь. Итак, я могу читать и записывать любые цифры в Arduino EEPROM, и он работает, как и ожидалось. Можно ли выполнить сравнение, чтобы проверить, сохраняется ли определенное число в EEPROM, и если оно не равно нулю, мы печатаем что-то на последовательном мониторе? В основном все, что я говорю, это то, что можно прочитать что-то из EEPROM и сравнить это с чем-то, что не хранится в EEPROM? Я хочу, чтобы эта проверка происходила, когда я включаю Arduino. Где 65 — это адрес, который помогает мне читать сохраненные данные из EEPROM, а ag — это переменная, которая содержит данные, считанные из EEPROM. Я буду очень рад любой помощи, оказанной на платформе
@Sigma, 👍0
Обсуждение1 ответ
У меня есть несколько проблем с вашим "способом кодирования".
- Используйте операторы if(){...}else{...}. А не "if(){...}else..."
- Учитывайте свою идентификацию, выберите "Инструменты" > "Автоформат".
- Прочитайте и поймите сообщение об ошибке.
- Используйте правильные функции
- Если ничего не помогает; и вы запрашиваете помощь онлайн; КОПИРУЙТЕ И ВСТАВЬТЕ код; сделайте минимальный рабочий пример, чтобы показать проблему. Просто пустой проект, в котором вы ТОЛЬКО пытаетесь прочитать значение EEPROM. И вставьте его вместе со своим вопросом; чтобы мы могли скопировать его и опробовать на своей стороне.
Прочитайте и поймите сообщение об ошибке
Строка с "задержкой 2000;" подсвечивается, и ошибка "ожидается ';' до создания числовой константы".
Это означает, что "Числовая константа" "2000" размещена неправильно; или что он ожидает ";" перед этим.
Несмотря на то, что ставится ";" не исправит; это должно указывать на то, что что-то не так с вызовом функции задержки и/или значением «2000», которое вы ей передаете.
Вы забыли заключить в скобки ( ) аргументы после функции задержки. См. также свой собственный код в строке 190; измените строку 185 на «задержка (2000);» и вы должны быть готовы идти.
Пожалуйста, постарайтесь уделить больше внимания своему коду; не сделав этого; ваш код тоже не сработает.
Используйте правильные функции/примеры:
Пожалуйста, основывайте свой код на официальном примере кода, а не на случайном коде, который вы нашли в Интернете; прочитайте актуальную справочную документацию самого Arduino. Чтение EEPROM Arduino
#include <EEPROM.h> //Поместите это вверху вашего файла/кода
int address = 0; // Адрес EEPROM для чтения.
byte value = EEPROM.read(address); //Читаем и сохраняем в 'value'
Пол, спасибо, на самом деле я думаю, что торопился и забыл кучу вещей, и вы правы, я просто подумал, что сделал глупые ошибки. На самом деле я не получаю коды из Интернета, я сажусь и пытаюсь собрать вещи вместе, хотя это была настройка, и я думаю, что я устал, лол, я не мог понять это, как некоторые коллеги по платформе. Большое спасибо, Пол, позвольте мне попробовать, посмотрим, сработает ли это., @Sigma
- Не получается читать из / писать в EEPROM
- EEPROM.get возвращает неверные данные
- о том, как разделить один внешний последовательный EEprom с помощью двух микроконтроллеров?
- Serial.println не будет форматировать DEC
- о том, как записать данные во весь EEprom?
- Программатор EEPROM работает с последовательным монитором, но не с pySerial
- использование EEPROM Arduino
- Чтение из EEPROM и объединение
Конечно, это возможно. Что вы пробовали?, @Edgar Bonet
Не отвечайте на мой комментарий в комментарии. Вместо этого отредактируйте свой вопрос и добавьте код минимального, полного и **проверяемого** примера. Четко объясните, что вы ожидали от этого кода, а затем то, что он сделал на самом деле., @Edgar Bonet
попробуйте
EEPROM.get(65, ag);
if (ag == 0) {...
. Что такое аг? Почтовый индекс в виде текста, пожалуйста, @Jurajjuraj, не работает пробовал несколько раз, @Sigma
что? разместить код в виде текста?, @Juraj
Добавил новую картинку надеюсь поможет, @Sigma