Официальный сайт компании Arduino по адресу arduino.cc
Хранение информации в массиве.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Ср, 08/02/2017 - 20:50
Ардуина получает данные очень быстро на протяжении 1-2 секунд. Накапливается массив из 1-2 тыс трехзначных чисел. Нужно это дело как-то сохнанить на ардуине, а после скинуть на компьтютер файлом. Дело в том что скорости переброски по кабелю не хватает, для этого нужно предварительное сохранение. Подскажите как это реализовать?
Поконкретнее нельзя? Что за числа? Любые от 0 до 999 или есть какие-то ограничения?
Он читает АЦП на протяжение 1-2 сек, (тема про фоторезистор)
дальше хочет типа на карту SD это скинуть и прочесть на компе.
но ни схемы, ни скеча нет !
это теоритические размышления, как и
"Дело в том что скорости переброски по кабелю не хватает, для этого нужно предварительное сохранение."
Xumuk-LNR, у Ардуино есть оперативная память. У разных моделей - разный объем.
Для начала прикиньте, каков объем данных, которые нужно сохранить. Если он больше объема оперативной памяти (или даже чуть-чуть меньше), задача в общем случае невыполнима.
2 тысячи даже двухбайтных значений Мега256 или 128 вполне переварит со своими 8Кб ОЗУ. Ну и никто кроме неё.
А логика простая, обьявить массив с длиной превышающей даже теоретическое количество данных + запас. Например 2,5 тысячи ячеек, считываем в цикле в массив, а потом передаем эти значения так же в цикле на ПК.
1. ДЛя того, чтобы считать массив и передать его в ПК массив вообще не нужен.
2. Объявить массив с длиной превышающий объем данных мне даже на ПК не удавалось.
Ну учитывая, что этот вопрос вообще был задан, с того края интернета сидит такой же новичёк как я.
а указание на создание массива например
не дает контроллеру указание выделить 1000 байт из ОЗУ?
а указание на создание массива например
не дает контроллеру указание выделить 1000 байт из ОЗУ?
Нет.
Можете проверить сами: берете любой скетч, хотя бв blink, компилируете его и смотрите расход оперативной памяти. После этого добавляете в него указанную строчку, повторяете операцию и делаете выводы.
а потом в сетапе пишешь arr[0]=inputRead(A0) (например) и снова проверяешь. Если к массиву не обращаешьса, линкер его выкинет, если обращаешься - сразу резервируеца место под массив.
Карточка SD устроит? сохраняешь на карту, грузишь файл на компе... объем практически не ограничен.. Можно сделать из microSD-SD адаптера, рабочие примеры есть.