для физического интерфейса можно взять SPI, уарт, не сильно важно. Но если нужн будет в сеть больше двух девайсов, то нужно буте что-то типа шины делать. Общение: мастер-слейв. Мастер шлет пакет, слейв отвечает. В пакете либо данныые, либо запрос на данные. Пакет построить примерно как у модбаса: первый байт адреса, потом байт комманды, потом произвольное количество байт данных, и по желанию байт контрольной суммы. Так как длина пакета может быть любой и если будет проблематично определять длину принятого пакета, то можно еще добавить в пакет байт, в котором будет содержаться длина пакета (как в модбасе опять же) допустим нужно через подчиненного с адресом 10 отправить три байта (1, 2, 3). Шлем ему: 10, 7, 1, 1, 2, 3, 56

Комментарии: 8

  1. Petr

    Еще можно прикрутить чексуммы и шифрование

    • Elisei

      и тут в пакете: адрес, размер пакета, команда (допустим команда отправки данных в уарт = 1, данные 1.2.3, контрольная сумма ну шифрование это уж сильно сомнительно что оно там нужно хотя кто знает что ему там нужно

      • Petr

        Да

        • Elisei

          а чексуммы я упоминал, ИМХО очень желательно их иметь, даже на расстоянии 5-10 см.

          • Petr

            Да, я пропустил

            • Dmitry

              будет всего два устройства. ведущий-ведомый. плюс обмен в две стороны — тот же юарт, например не, шифрование не нужно. в целом, да, можно взять и придумать своё, но вдруг уже кто-то такое придумал? задача-то типовой видится

              • Petr

                А зачем 2 контроллера? Ног мало?

                • Dmitry

                  модульность конструкции с отделением софта от железа

Не нашли ответ?

Вам также может быть интересно