回答編集履歴
2
さらに追記
test
CHANGED
@@ -30,4 +30,4 @@
|
|
30
30
|
|
31
31
|
```
|
32
32
|
|
33
|
-
MIDIライブラリがSerialを使ってMIDI通信しようとしているのに、`Serial.beign(115200);`でシリアルポートを横取り?しちゃよろしくないのでは。
|
33
|
+
MIDIライブラリがSerialを使ってMIDI通信しようとしているのに、`Serial.beign(115200);`でシリアルポートを横取り?しちゃよろしくないのでは(CDCだとボーレート設定は関係ないかも)。
|
1
追記
test
CHANGED
@@ -1,3 +1,33 @@
|
|
1
1
|
PCからみたArduino Leonardoのシリアルは、USBのCDCつまり仮想シリアルです。MIDIライブラリが仮想でないシリアル(UARTのTX/RX端子)を使う前提のものであるならその構成ではMIDIに信号が得られないのかもしれません。
|
2
2
|
|
3
3
|
使っているMIDIライブラリの仕様を確認してみてください。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
---
|
8
|
+
|
9
|
+
(そういえばMIDI機器とヤマハのMIDI-USBコンバータが押し入れの奥にあったはず...と思ったけど見つからない)
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
MIDI Libralyのソースを覗くと、serialMIDI.h中に
|
14
|
+
|
15
|
+
` // Leonardo, Due and other USB boards use Serial1 by default.`
|
16
|
+
|
17
|
+
という文言が見えますね。Serial1はD0/D1のところの(物理)UARTですから...
|
18
|
+
|
19
|
+
ライブラリのExampleを見ると、AltPinSerialというのがあって、SoftwareSerialを割り当てている例がありますからそれを参考にMIDIをSerialに割当てなおしてみてはいかがでしょう。(しかしSoftwareSerialが31.5KbpsのMIDIでまともに使えるのか?)
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
それと、
|
24
|
+
|
25
|
+
```Arduino
|
26
|
+
|
27
|
+
MIDI.begin();
|
28
|
+
|
29
|
+
Serial.begin(115200);
|
30
|
+
|
31
|
+
```
|
32
|
+
|
33
|
+
MIDIライブラリがSerialを使ってMIDI通信しようとしているのに、`Serial.beign(115200);`でシリアルポートを横取り?しちゃよろしくないのでは。
|