2014-12-18 3 views
0

Я строю эскиз для Arduino Mega 2560 с Ethernet-экраном (и SD-порт в комплекте). Эскиз нужно будет работать с парой tupels данных как:Хранение данных на Arduino

Key1 Value1 
Key2 Value2 
etc. 

Эта «база» расширяется, когда эскиз работает и некоторые tupels должны быть считаны. Данные также должны быть доступны после перезагрузки. EEPROM имеет всего 4 КБ, что будет меньше.

Что такое хороший способ хранения данных? Как я могу получить к ним доступ легко? Я нашел http://blog.brauingenieur.de/2014/01/20/extended-database-library-using-an-sd-card/ Но кажется, что я должен сказать, сколько записей нужно хранить? Но это должно быть гибким

ответ

1

Вы можете использовать указанную библиотеку, вам не нужно указывать количество записей. Просто вызовите метод appendRec.

если вы проверить исходный код, который вы увидите, что она будет добавлять записи в конец записи установить

// Adds a record to the end of the record set. 
// This is the fastest way to add a record. 
EDB_Status EDB::appendRec(EDB_Rec rec) 
{ 
    if (EDB_head.n_recs + 1 > limit()) return EDB_TABLE_FULL; 
    EDB_head.n_recs++; 
    writeRec(EDB_head.n_recs,rec); 
    writeHead(); 
    return EDB_OK; 
} 

На вашем refereced примера автор определяет только количество записей, потому что он хочет, чтобы цикл над его данными. Но настоящая магия происходит с помощью метода appendRec

Смежные вопросы