Чтение 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); } }
Из памяти не читает. Подскажите, пожалуйста, что делаю не так?
char
array[] = {};
08
while
(fileConfig.available()) {
09
array[h] = fileConfig.read();
10
h++;
11
}
12
array[h] =
'\0'
;
Видимо с этим, вы создали массив какого размера?
Разобрался, спасибо.
А как понять что в переменную что-то записалось?
Задаю char array[130]; sizeof(array); выдает 130, но по факту это столько выделено места, а оно может быть пустым.
strlen (array);
попробуй
Благодарю!