Поделить число, и записать его в EEPROM.
- Войдите на сайт для отправки комментариев
Сб, 27/02/2016 - 19:13
Необходимо поделить 7-ми значное число на отдельные цифры и записать их для хранения. Также необходима возможность сложить данные цифры в 7-ми значное число обратно. Как-то так :)
А put() не пробовали?
https://www.arduino.cc/en/Reference/EEPROMPut
А пояснить не можете? Просто не очень английский знаю.
Необходимо поделить 7-ми значное число на отдельные цифры и записать их для хранения. Также необходима возможность сложить данные цифры в 7-ми значное число обратно. Как-то так :)
В посте нет никакого вопроса и/или просьбы. Есть только утверждение. Так что отвечать особо не на что.
Если бы это всё-таки был вопрос, типа "как это сделать", то здесь явно не хватает пояснения в каком типе данных (представлении) оное число находится.
Дак там же пример есть. А С/C++ он весь на английском. Я так понимаю, что на цифры делите потому что в ЕЕПРОМ байты надо писать? Когда то я это делал через "union", а теперь гляжу этот put() добавили.
Я не могу 7-ми значное число в типе long поделить на отдельные цифры в типе int что бы записать их в EEPROM.
После записи мне нужно будет считывать данные цифры и переводить их в целое число в типе long.
Это нужно мне для велокомпьютера. Как это организовать?
Да, мне нужно делить для того, что бы записать число например 1234567 в EEPROM, а так как максимальное значение ячейки EEPROM равно 255, то мне нужно записывать по одной цифре.
Еще не пойму, почему когда добавляю число большое, то получаю -3191, что то с типами переменных?
Если что, вот мой код:
Мля. Анек вспомнил. Идет дебил по лесу - видит грибочек.
Говорит:
ГРЫБоШеК ....
грибочек говорит - я волшебный, исполню ТРИ твоих желания!
Дебил - хачу быть нормальным....
1!
УСРАТЬСЯ!
ПСССССССССССССССС
ЕБАНУТЬСЯ!
--------------
Грыбошек.......
А можно и так: http://playground.arduino.cc/Code/EEPROMReadWriteLong
Вобщем, разбивать на цифры самый не эффективный способ. А какой из 3-х предложеных мной способ лучше решайте сами.
Пример
на днях задался таким же вопросом. да и вопрос то не аппаратный...
http://arduino.ru/forum/programmirovanie/zakhvatit-znachenie-i-pereopredelit-konstantu
Да, мне нужно делить для того, что бы записать число например 1234567 в EEPROM, а так как максимальное значение ячейки EEPROM равно 255, то мне нужно записывать по одной цифре.
А не рассматриваль вопрос хранить в памяти float. Делим ваше значение на 100000 и сохраняем в EEPROM. Надо вытаскиваем умножаем на 100000 и пользуемся. На сколько я помню float в IDE Arduino имеет хвостик до 5 знаков после запяитой. Опять же на просторах интернета находил функции записи EEPROM float.
Вот эти функции, дефайним адреса ячеек EEPROM и пользуемся.
Да, мне нужно делить для того, что бы записать число например 1234567 в EEPROM, а так как максимальное значение ячейки EEPROM равно 255, то мне нужно записывать по одной цифре.
Не нужно Вам ничего делить. Пишите сразу long функцией put, как Вам тут советовали, а потом читайте функцией get и всё будет нормально - запишется 4 байта и прочитается столько же.
Я знал, я верил что найдется такой человек как Вы diger67!
Спасибо большое что направили на правильный путь, скачал библиотеку EEPROMEx и о чудо!
http://arduino.ru/forum/programmirovanie/zapis-i-chtenie-eeprom-peremenn...