как сохранить данные в массиве во флешь память
- Войдите на сайт для отправки комментариев
Вс, 06/11/2016 - 22:37
Здравствуйте как можно сохранит данные в массиве например massiv [10][20] {} все данные нужно сохранит во флешь память потом по команде скажем if(PIND&(1<<PD2)) есть сигнал то будем уже не записовать а считать данные оттуда
В ардуино не флешь, а епром.
Какого типа массив?
Почитай тут https://www.arduino.cc/en/Reference/EEPROM
Но прикинь сперва размер EEPROM -- уместится ли.
Тут хорошие примеры и размеры разного типа...
http://arduino.ru/forum/programmirovanie/zapis-i-chtenie-eeprom-peremenn...
Я пользую библиотеку EEPROMex.
Пример чтения записи
void getEEPROM () { // чтение данных if (EEPROM.read(0) != 123) { // данных нет, записываем по умолчанию //Параметры по умолчанию при первом запуске Set.NoFrostTemp=12;//температура при отсутствие активности > NoFrostTimer Set.SleepTemp=18;//температура при отсутствие активности > SleepTimer Set.WorkTemp=22;//температура при наличии активности Set.SleepTimer=2*60*60*1000;//время до перехода в режим sleep Set.NoFrostTimer=6*60*60*1000;//время до перехода в режим NoFrost SELCD();//вывод сообщения о записи EEPROM.writeBlock(1, Set);//сохраняем настройки EEPROM.write(0, 123); // отметили наличие данных } RELCD();//вывод сообщения о чтении EEPROM.readBlock(1, Set);//читаем настройки } void saveEEPROM () { // запись данных SELCD();//вывод сообщения о записи EEPROM.writeBlock(1, Set);//сохраняем структуру в EEPROM }Я пользую библиотеку EEPROMex.
Пример чтения записи
void getEEPROM () { // чтение данных if (EEPROM.read(0) != 123) { // данных нет, записываем по умолчанию //Параметры по умолчанию при первом запуске Set.NoFrostTemp=12;//температура при отсутствие активности > NoFrostTimer Set.SleepTemp=18;//температура при отсутствие активности > SleepTimer Set.WorkTemp=22;//температура при наличии активности Set.SleepTimer=2*60*60*1000;//время до перехода в режим sleep Set.NoFrostTimer=6*60*60*1000;//время до перехода в режим NoFrost SELCD();//вывод сообщения о записи EEPROM.writeBlock(1, Set);//сохраняем настройки EEPROM.write(0, 123); // отметили наличие данных } RELCD();//вывод сообщения о чтении EEPROM.readBlock(1, Set);//читаем настройки } void saveEEPROM () { // запись данных SELCD();//вывод сообщения о записи EEPROM.writeBlock(1, Set);//сохраняем структуру в EEPROM }Возможно она и лучше. Но тут уже C++ надо чуток знать. Одного WIRING недостаточно.
PROGMEM тогда за что отвечает
PROGMEM тогда за что отвечает
https://www.arduino.cc/en/Reference/PROGMEM
Получается что в ардуино можно сохранить данные во флеш память, в примере описивается чтение из памяти pgm_read_word а как можно в теле цикле записовать данные в флеш память
Получается что в ардуино можно сохранить данные во флеш память, в примере описивается чтение из памяти pgm_read_word а как можно в теле цикле записовать данные в флеш память