Прочитать COM порт в массив
- Войдите на сайт для отправки комментариев
С компьютера по COM отправляется текстовый файл. На листинге он выглядит так (в скобках пояснения):
Наим. блока 1 (16 символов фиксированно, где 1- номер блока)
0FDC76
02AA56
(пустая строка - значений может не быть!)
02AA56
….. (аналогично)
7425AC (последняя строка блока…. число строк постоянно= 25, т.е. наименование+24 строк данных)
Наим. блока 2
0С7593
02ВВ36
…..
6425AC ( и так несколько блоков)
# (признак окончания файла)
Число блоков РАЗЛИЧНО, до 50 шт.
Эта часть задачи решена. Отправка по символьно с контролем символа окончания файла.
Нужны методы (черной скетч), как:
- Принять и оптимально разместить данные в массиве с запоминанием при выкл.питания.
- Выбрать соответствующую по параметрам памяти адруину.
- По номеру блока выводить на дисплее 16х2 его наименование
- По кнопке отправлять выбранный блок в порт так:
Serial.write(0хНомерБлока)
Serial.write(0х0F) (как байт на примере блока 1)
Serial.write(0хDC)
Serial.write(0х76)
…
Serial.write(0хАС)
2. Выбрать соответствующую по параметрам памяти адруину.
Если мне нужно изменить в сервере размер дискового пространства, то я меняю накопители, а не подбираю новый сервер.
Так что ардуина тут может быть всегда одна, самая минимальная.
Отлично! Готов к внешней памяти для массива, если внутренних ресурсов не хватит. Даже у Меги?
Кстати, вариант с чтением с СД карты не устроит. Нужно именно КОМ соединение для заливки.
У меги хватит, но зачем... Щас внешней памяти развелось, как грязи. Хошь - на I2C сажай, хошь на SPI.
P.S. Соврал, у меги 4кб eeprom, не хватает полкило. Так что внешняя - полюбому. Или какой-нить STM брать, наверное. Не знаю их параметров.
24LC64 - на 64 килобита, что, если правильно прикинул, хватит с запасом на все варианты. Т.е. вообще девайсу не нужно ничего менять в железе - только пиши/читай.
Еще раз отлично! Тем более, что запас нужен))) Мб число блоков увеличится процентов на 20... Ну кто возьмется, чтоб мне не танцевать с вопросами, которые я не знаю? Нет времени. Нужно решение.
Я могу накидать, если не горит прямо уж сильно. Надо только глянуть - есть у меня подобная микруха или нет. Вроде была. wrk.sadman@gmail.com
Написал.
Фи... памяти полно в магазине... счас куплю. 30 руб
так, ремарка :) - у меги ЕЕПРОМ хватит. 50 блоков * 25 строк * 3 байта = 3750 байт
это если строчки - 16-ричные числа. Если просто произвольные строки - то в 2 раза больше
так, ремарка :) - у меги ЕЕПРОМ хватит. 50 блоков * 25 строк * 3 байта = 3750 байт
Забыл, что название из 16-ти байт.
Вопрос сколько циклов W/R планируется. Ресурсы ЕЕПРОМ большие но не бесконечные.
Лучше память магнитную ставить и быстродействие выше и ресурс на пару порядков выше.
Привожу свой скетч как основа. Нужно его сделать работающим.
10 циклов в неделю