Страница 1 из 1

Сборка и разборка пакета данных.

Добавлено: Пн апр 01, 2013 15:38:27
zzontt
Расскажите как правильно собирать перед отправкой пакет даных, состоящий из адреса и кода команды, и как его правильно анализировать на приемной стороне (тоесть посмотреть адрес, если это адрес приемника то выполнить то что соответсвует коду команды, если это не тот адрес то просто игнорировать этот пакет.)
Суть в том что кнопками МК1 и МК2, формируется адрес устройства которое должно выполнить команду(в данном случае зажечь диодик), а кнопками LED1.2.3.4, выбирается код команды.
Схема приведена ниже(на схемотехнику не смотрите так как это просто для ознакомления с работой UARTа).
СпойлерИзображение

Re: Сборка и разборка пакета данных.

Добавлено: Пн апр 01, 2013 15:45:23
igor-x
все достаточно несложно :
отправляем например всегда пакет из 8 байт, первые 5 байт это адрес устройства, 2 байта это данные, а один байт контрольная сумма.
все МК принимают все 8 байт, но только один МК , который нашел свой адрес , исполняет команду заключенную в последних 2 байтах при условии что КС корректно посчиталась.

при условии что у вас десятки тысяч адресуемых устройств, то скорее всего в адресной части два байта достаточно .(2 байта это 65 тысяч адресов).

и совершенно непонятно для чего здесь схема, если разговор про адресацию при последовательной передаче по шине :))

Re: Сборка и разборка пакета данных.

Добавлено: Пн апр 01, 2013 15:59:12
zzontt
igor-x писал(а):и совершенно непонятно для чего здесь схема, если разговор про адресацию при последовательной передаче по шине :))
Это я для того наверное что бы визуально было проще понять чего я хочу)
при условии что у вас десятки тысяч адресуемых устройств, то скорее всего в адресной части два байта достаточно .(2 байта это 65 тысяч адресов).
Самих примников будет не очень много, максимум 1000, к приемникам буду матрицами диоды подключать.
все достаточно несложно :
отправляем например всегда пакет из 8 байт, первые 5 байт это адрес устройства, 2 байта это данные, а один байт контрольная сумма.
все МК принимают все 8 байт, но только один МК , который нашел свой адрес , исполняет команду заключенную в последних 2 байтах при условии что КС корректно посчиталась.
Логику работу с адресом и данными и понимаю.

Я хотел попросить пример кода который собирает и разбирает пакет данных.
То что нужно отправлять, и на что надо смотреть при приеме это ясно.
Я довольно сильно сейчас застопорился на программной части этого дела.

Re: Сборка и разборка пакета данных.

Добавлено: Пн апр 01, 2013 20:27:03
orinoko
Разрисовывать логику работы по УАРТ - это сильно многа букаф. Вот для начала
http://avrlab.com/node/65
http://easyelectronics.ru/avr-uchebnyj- ... -uart.html
На самом деле всё не так сложно. Но неизвестно, в какой среде вы пишете программу. Таким образом сразу определится круг понимающих людей.

Re: Сборка и разборка пакета данных.

Добавлено: Вт апр 02, 2013 06:35:02
igor-x
Я довольно сильно сейчас застопорился на программной части этого дела.
покажите вашу программу , попробуем решить ваши проблемы