Обмен по SPI: как паковать переменные?
- Войдите на сайт для отправки комментариев
Ср, 03/03/2021 - 20:04
День добрый. Пытаюсь организовать связь между двумя ардуинками по SPI, дело спорится, но встрял с пониманием такой задачки: как организовать обмен не одиночными переменными, а пакетами. т.е. -
вариант 1 - однородный массив (int[], byte[])
вариант 2 - несколько переменных с заранее оговорёнными типами и порядком (напр.: {int, long, int[3], int, byte, String})
вариант 3 - несколько переменных, но в произвольном порядке и типизацией (набор объектов с ключами напр.:[{name="varName1", type="integer", value=32}, {name="varName2", type="byte", value=4}] итд.)
понимаю, что надо бы в транзакциях как-то определять начала и концы пакетов и переменных, но никак не могу дойти :-(
Если кто-то уже подобное делал с библиотекой SPI, поделитесь, пожалуйста.
Пакеты всегда разнородной структуры будут? Принимающая сторона так или иначе должна знать, что она ждет
Так-то, передать любой объект - дело не хитрое. Перед отправкой можно прилеплять к любому пакету заголовок с идентификатором, длиной пакета, crc и т.д.
Dimanoss, основной и единственный принцип - принимать именно то, что отправлено.
Ну а остальное - частности, зависящие от особенностей конкретного проекта.