Forum: Mikrocontroller und Digitale Elektronik Arduino Mega Multiple Serial Communication Speed Midi


von Ratte (Gast)


Lesenswert?

Hallo!

Habe hier ein Midi-Sequenzer mit dem Arduino Mega 2560.

Midi ist bekanntlich ziemlich langsam und wenn ich viele Instrumente in 
einer Kette hintereinander schalte, - alle an dem gleichem Midi-Out des 
Sequenzers, kommt es zu Verzögerungen.

Wenn ich an die 4 Serial-Ports des Arduino Megas 4 Midi Outs hänge, kann 
er da "gleichzeitig" mit den vier Ausgängen kommunizieren?

Also sind 4 Instrumente an 4 Serial- bzw. Midi-Outs schneller als alle 4 
an einem Midi-Out?

Auf dem Board ist ein ATMega 2560 drauf und ein ATMega16U2 extra für die 
USB-Serial Kommunikation und Pin 0 RXD und 1 TXD.
Schaltplan vom Board da: 
http://arduino.cc/en/uploads/Main/arduino-mega2560_R3-schematic.pdf
Also nur ein TX ist an dem Mega16U2, die anderen drei sind direkt am 
Mega 2560. USB-Serial nutze ich nicht.

Hoffe Ihr könnt mir helfen? Grüße!

von Ich (Gast)


Lesenswert?

Meinst Du Hilfe beim Zugriff auf die Uarts?

Ist seit kurzen hier

http://avr.myluna.de/doku.php?id=de:uart

mit FiFo implementiert,

von Ratte (Gast)


Lesenswert?

?
also das heißt mit so einem Buffer kann man mehrere Nachrichten parallel 
abarbeiten?? damit kenne ich mich nicht aus.

was ich mich Frage ist wenn ich z.B. folgendes schreibe:
1
Serial.begin(31250);
2
Serial1.begin(31250);
3
Serial.write(0x90+channel); // NoteOn
4
Serial1.write(0x90+channel);
5
Serial.write(note);
6
Serial1.write(note);
7
Serial.write(velocity);
8
Serial1.write(velocity);
kann er wärend ein er ein Bit auf Serial überträgt ein anderes Bit auf 
Serial1 übertragen?
oder sendet er eine Midi-Massage auf einem TX und erst danach die 
nächste auf dem nächsten TX?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.