0

現在、arduino 用に作成された DMXSerial ライブラリを使用しています。このライブラリは、送信機または送信機として初期化する方法に応じて使用できます。

送信機は次のように初期化する必要があります: DMXSerial.init(DMXController);

一方、レシーバーの初期化は次のとおりです。 DMXSerial.init(DMXReceiver);

受信して制御する実装を作成したいと思います。特定の重要な割り込みやタイミングの制約を逃さずにこれを行う方法を知っている人はいますか?

4

1 に答える 1

0

そのライブラリは、簡単に双方向を行うようには見えません。しかし、DMX512 は単純なシリアル プロトコルであるため、UART を直接操作する独自のルーチンを作成することを妨げるものは何もありません。このライブラリは、このための優れたガイドになります。

さて、そうは言っても、デバイスに制御と受信の両方が必要な状況はどのようなものですか? DMX512 プロトコルは明示的に単方向であり、物理層ではデイジー チェーン ネットワークであり、バス上に複数のマスターが存在することを防ぎます (そして本質的に単方向バスを作成します)。あなたがスレーブであり、バスを操作している場合、マスターからの着信パケットを壊す危険があります。巧妙に受信パケットをキューに入れておけば、おそらく受信データと自分自身のデータの両方を安全に再送信できますが、これは明らかに非標準の (そしてほぼ確実に標準に違反する) 動作であることに注意してください。

于 2016-01-24T16:41:32.610 に答える