Чтение SD и запись в EEPROM
- Войдите на сайт для отправки комментариев
Пт, 21/01/2022 - 01:28
Необходимо прочитать файл с SD и записать содержимое в память для дальнейшего использования.
Содержимое файла:
1000;1-100,2-200,3-300,4-400,5-500,6-600,7-700,8-800,9-900,0-1000,1-100,2-200,3-300,4-400,5-500
2000;3-300,4-400,5-500
3000;90-500,0-20,90-500,0-20,90-500,0-20,90-500,0-20,90-500,0-20,90-500,0-20
100;0-100,5-500,0-800,9-1000,10-500
Код:
// читаем данные с флэшки
if (SD.begin(sdPin)) {
int h = 0;
char array[] = {};
File fileConfig;
fileConfig = SD.open("config.txt"); // читаем файл настроек
if (fileConfig) {
while (fileConfig.available()) {
array[h] = fileConfig.read();
h++;
}
array[h] = '\0';
fileConfig.close();
Serial.println(array);
EEPROM.put(0, array); // записываем настройки в память
char array2[10];
EEPROM.get(0, array2);
Serial.println(array2);
}
}
Из памяти не читает. Подскажите, пожалуйста, что делаю не так?
chararray[] = {};08while(fileConfig.available()) {09array[h] = fileConfig.read();10h++;11}12array[h] ='\0';Видимо с этим, вы создали массив какого размера?Разобрался, спасибо.
А как понять что в переменную что-то записалось?
Задаю char array[130]; sizeof(array); выдает 130, но по факту это столько выделено места, а оно может быть пустым.
strlen (array);
попробуй
Благодарю!