Официальный сайт компании Arduino по адресу arduino.cc
Запись в EEPROM
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Чт, 03/12/2020 - 13:45
Здравствуйте всем!
У меня вопрос...
Переменная int8_t это однобайтная переменная. Верно (-127....128)?
В ячейку памяти EEPROM я могу записать один байт.
Почему когда я записываю в память отрицательное число типа int8_t, то при считывании с EEPROM памяти я получаю не корректное значение?
как записываете, как считываете?
Почему когда я записываю в память отрицательное число типа int8_t, то при считывании с EEPROM памяти я получаю не корректное значение?
кто ж вас знает.
Код показывайте
потому что читаешь не как int8_t, очевидно
Ну например:
Ну например:
одолжение нам сделал?
По сути вопроса - о приведении типов слыхал что-нить?
Посмотри в библиотеке ЕЕПРОМ, какой тип возвращаемого значения у EEPROM.read()
Даже и не думал одолжений делать...
Спасибо. Посмотрел в библиотеке. Возвращаемое значение byte, т.е. uint8_t... Я об этом не знал.
Значит так надо:
Serial.print(int8_t(EEPROM.read(1)));?
Значит так надо:
Serial.print(int8_t(EEPROM.read(1)));?
а оно так компилируется?
я как-то больше привык к такой записи:
Serial.print((int8_t)EEPROM.read(1));
у меня скомпилировалось)
И теперь -1
у меня скомпилировалось)
И теперь -1
отлично :)
Большое спасибо всем за помощь!!!
Почему когда я записываю в память отрицательное число типа int8_t, то при считывании с EEPROM памяти я получаю не корректное значение?
Потому что либо неправильно записываете, либо неправильно читаете, либо и то, и другое вместе.
А ещё универсальный ответ: Потому что гладиолус! )))
А Вы свои неуместные предположения высказываете потому что общаетесь посредством интернета,а не с глазу на глаз?)))
Или потому, что самый умный здесь?
Потому что либо неправильно записываете, либо неправильно читаете, либо и то, и другое вместе.
[/quote]
Здравствуйте. Выше найденное решение является верным или ещё есть варианты?
Ответ "Да" на оба вопроса.
Здравствуйте. Выше найденное решение является верным или ещё есть варианты?
Не знаю. Там код вставлен неправильно и я его просто не читал (как и большинство народа).
Хотите получать ответы, а не глум - 1) всегда прикладывайте код, чтобы было что обсуждать, а не как в первом посте; 2) вставляйте его как положено - с номерами строк, иначе обсуждать его невозможно.
Не будете это соблюдать, над Вам будут глумиться, а Вы - обижаться. Вы для этого сюда пришли?
Спасибо за зовет.
Я на форуме совсем недавно.
Да я совсем не обиделся.
А Вы свои неуместные предположения высказываете потому что общаетесь посредством интернета,а не с глазу на глаз?)))
Или потому, что самый умный здесь?
Если вопрос ко мне - то я никаких предположений не высказывал.
Учиться нужно, учеников нужно пинать. Иначе они даже шнурки завязывать не научаться. На этом форуме именно так, это ещё со времён советов. Тогда и образование ценилось. Сейчас покупается. Есть интересный канал на ютубе (сама идея, а не канал в целом), где молодым людям (не в плане пола) задают вопросы школьной программы прямо на улице. И так стыдно за эту молодёжь - они же только закончили школу и не знают, а я закончил дохреналетназад и знаю (((