Arduino Megaでは、シリアルポートが 4つある
TX0/RX0
TX1/RX1
TX2/RX2
TX3/RX3
当初、これらの4つのポートをすべて MIDIに使えると思ったが
1つのポートは、PCとの通信用ポートとなる。
で、残り3つのポートを物理的にMIDIとして使えるが
ArduinoとPCの通信には、1つのポートしかつかえないので
(使えるはずですが)
PCからみて、ソフトウェア的には、1つのMIDIポートしか使えない
(PCから見て、いわゆるマルチポートMIDIデバイスとしては使えない)
TX0/RX0は、PCとの通信専用
TX1/RX1
TX2/RX2
TX3/RX3
に、MIDIポートを割り当てる事ができる、が
PCとは、1ポートでしか通信できないので
擬似マルチポート的に使うなら
TX1/RX1 は、MIDIチャンネル1のみ
TX2/RX2 は、MIDIチャンネル2のみ
TX3/RX3 は、MIDIチャンネル3のみ
のようにすれば、つかえないこともない。
MIDIメッセージの種類でポートを分けることも可能
つまり
TX1/RX1に入力されたMIDIメッセージを、Arduinoで、全部1チャンネルにして、PCに送る
TX2/RX2に入力されたMIDIメッセージを、Arduinoで、全部2チャンネルにして、PCに送る
TX3/RX3に入力されたMIDIメッセージを、Arduinoで、全部3チャンネルにして、PCに送る
TX2/RX2に入力されたMIDIメッセージを、Arduinoで、全部2チャンネルにして、PCに送る
TX3/RX3に入力されたMIDIメッセージを、Arduinoで、全部3チャンネルにして、PCに送る
のようにすれば、PC側で区別できる。その逆も可
0 件のコメント:
コメントを投稿