Отправка и получение DMX-512 с использованием библиотеки DMXSerial Arduino

В настоящее время я работаю с библиотекой DMXSerial, написанной для Arduino. Эта библиотека может использоваться в зависимости от того, как она инициализируется как отправитель или отправитель.

Передатчик должен быть инициализирован следующим образом: DMXSerial.init(DMXController);

Принимая во внимание, что инициализация для получателя следующая: DMXSerial.init(DMXReceiver);

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

1 ответ

Эта библиотека не выглядит так, как будто она легко работает в двух направлениях. Но, поскольку DMX512 - это простой последовательный протокол, ничто не мешает вам писать собственные подпрограммы, которые напрямую управляют UART. Библиотека будет отличным руководством для этого.

Теперь, сказав, что: в какой ситуации вы хотите, чтобы устройство контролировало и получало? Протокол DMX512 является явно однонаправленным, а на физическом уровне это сеть с последовательным подключением, которая предотвращает использование нескольких мастеров на шине (и, по сути, создает однонаправленную шину). Если вы ведомый и управляете шиной, вы рискуете засорять входящие пакеты от мастера. Если вы разбираетесь в этом и ставите в очередь входящие пакеты, вы можете, возможно, безопасно повторно передать и входящие данные, и свои собственные данные, но помните, что это явно нестандартное (и почти наверняка нарушающее стандарты) поведение.

Другие вопросы по тегам