переписать строку в SdFat для arduino - PullRequest
0 голосов
/ 25 февраля 2019

Моя проблема в том, что я пытаюсь сделать контроллер, используя Arduino, модуль ESP8266 SDcard и некоторые датчики.Когда я пытаюсь сохранить некоторые данные на SD-карте, в первый раз все работает нормально, но во второй или третий раз мне нужно переписать одну и ту же строку с разными значениями.Но есть проблема, потому что длина строки не равна предыдущей.Если он длиннее, то ничего плохого, но если короче, то он оставит некоторые ненужные символы.Самая сложная часть - это то, где мне нужно сохранить значение светодиода и время: 255 10 0 Где 255 представляет значение светодиода, 10 часов, 0 минут Значение может быть длиной 1 или 3 символа, час 1 или 2, мин 1или 2 ...

Так есть ли решения для этой проблемы ??

Теперь я пытаюсь изменить int на uint8_t, чтобы он равнялся всем возможным значениям.Правильный ли этот подход?Может быть, кто-то сделал что-то подобное?

Любые предложения будут оценены.

1 Ответ

0 голосов
/ 25 февраля 2019

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

Один из подходов состоит в том, что все значения равны uint8_t, что потребует 3 значения uint8_t.

Другой - оставить это как строку, но каждое поле имеет фиксированную ширину с дополненными значениями.например, 0050901 для значения 5 на 9-м часе, 1-й минуте.Или заполнить пробелами так, чтобы 5 9 1 отображало эти же данные.(Два пробела перед 5 и один пробел перед 9 и 1).

Любой подход хорош и зависит только от того, что вы предпочитаете или что легче при использовании и / или записи данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...