Быстрая регистрация данных

Я хочу сохранить данные шума (в основном из A0) с Arduino Uno на SD-карту с более высокой скоростью записи, желательно, используя вместе данные 512 и записывая их одновременно. Какой должен быть код?

, 👍0

Обсуждение

Что ты придумал сам?, @Michel Keijzers

Пожалуйста, прочтите [спросить]., @sa_leinad

зачем вам нужна быстрая регистрация данных ....... шум, выборка которого производится с интервалом в один час, все равно приводит к набору случайных данных .......... вы называете шум случайными данными? .....или вы имеете в виду запись звука?, @jsotola


1 ответ


2
  1. Считайте значения в массив, достаточно большой для их хранения.
  2. Запишите массив с помощью метода write(const uint8_t *buffer, size_t size).

Каждая write дает вам блок двоичных данных (512 значений, 1024 байта, если они являются 16-битными целыми числами), записываемых на SD-карту. Что вы с этим будете делать дальше, зависит от вас.

Примечание: Arduino UNO имеет только 2 КБ памяти. Если у вас 512 целых чисел, значит, половина вашей памяти потеряна. Библиотеке SD-карт требуется еще 512 байт или больше для внутреннего буфера секторов. Это еще 25% используемой памяти. У вас уже потеряно до 75 % памяти.

,

Похоже, стоит внести небольшую настройку библиотеки SD-карты, чтобы она не занимала четверть вашей памяти., @ratchet freak

@ratchetfreak Это не будет «маленькой» оптимизацией… Секторы SD-карты имеют размер 512 байт. Вы можете читать или записывать только целые сектора. Вам нужно где-то сохранить текущий сектор..., @Majenko

Вы можете повторно использовать пользовательский буфер. Затем переключайте 2 буфера по 512 байт при передаче данных., @ratchet freak