Hallo zusammen, ich versuche verzweifelt mit einem Atmega8 (sitzt auf einem STK200 Board, an PORTD1, GND ist die Midischnittstelle angeschlossen -> 5 poliger Stecker, jeweils mit Widerstand gegen PD1 - Pin 5, GND - Pin 4). Der Atmega läuft mit 8 Mhz. Wenn ich das ganze mit 9600 Baud an die serielle Schnittstelle von meinem PC anschließe, kann ich die Programchange Befehle korrekt am PC sehen. (z.B. 0xC1 0x7F) Änder ich nun die Baudrate auf 31500 und schließe das Midiendgerät an (ein Behringer VAMP2), ändert sich dort jedoch nichts. Das Ding sollte im OMNI-Mode laufen und auf alles hören was kommt... Habe ich irgendwas beim Midiprotokoll falsch verstanden, muss man irgendwas zur Initialisierung schicken, bevor man Programchanges senden kann? Im Anhang mal mein Code. Vielen Dank für eure Hilfe. lg Sammy
Jein. Ich habe am PC nur die Möglichkeit MIDI per serieller Schnittstelle anzuschließen (sonst müßte ich mir da auch erst was basteln). Ich konnte es also nur mit einem Terminalprogramm auslesen.
>(z.B. 0xC1 0x7F)
Jedenfalls ist das korrekt (Programm Change auf Kanal 1 mit dem Wert
127)
Korrekte Baudrat ist zwar entgegen einem Text hier 31250, aber im Code
ist ja der richtige Wert auskommentiert.
Läuft der µC eventuell mit internem Oszillator ? Das kann unter
Umständen zu einer zu großen Abweichung führen ...
Sicher, das am Behringer-Gerät der Empfangskanal 1 eingestellt ist ?
Noch ein häufiger Fehler: Din-Buchse richtig angeschlossen ? Da verdreht man schnell mal was, man muss immer genau schauen von welcher Seite aus die Buchsen / Steckerbelegung zu sehen ist.
ich nutze den internen Oscillator, mit 8 Mhz. Allerdings kommt am PC ja auch das richtige an, wenn ich dort z.B. mit 9600 Baud übertrage, vielleicht sollte ich das am PC mal mit höheren Geschwindigkeiten testen. Das Behringer sollte im OMNI-Mode laufen, also auf alles hören. Pinbelegung werde ich auch noch einmal überprüfen. lg Sammy
Probier´s eben vorsichthalber nochmal auf internen 1 MHz, das hat bei mir immer gut funktioniert ...
> Der Atmega läuft mit 8 Mhz. > Wenn ich das ganze mit 9600 Baud an die serielle Schnittstelle von > meinem PC anschließe, kann ich die Programchange Befehle korrekt am PC > sehen. Wieso sendest Du zum PC mit 9600 Bauds und nicht mit 31250 Bauds zum PC? Du sendest ja nicht nur ProgramChange Befehle. Werden denn die ChangeControl Befehle eigentlich erkannt? Die beiden CC-Befehle verstellen ja die Lautstärke, sollte also hörbar sein. V-AMP 2 Bedienungsanleitung: http://www.behringerdownload.de/V-AMPIRE_V-AMP2_V-AMP-PRO/LX1_LX1PRO_LX112_GER_Rev_D.pdf
Hi Mano, nein, die werden auch nicht erkannt. Das war nur ein verzweifelter Versuch... Zum PC sende ich nicht mit 31250 Baud, weil dieses dumme Terminalprogramm nur bestimmte Baudraten kann... lg Sammy
Die Hardware der seriellen Schnittstelle unterstützt 31250 Baud nicht, da alle Baudraten ganzzahlige Brüche von 115200 sein müssen. Das ist eine Hardwareeinschränkung der PC-UART 8250/16550, bei der der Baudratengenerator aus einem 1.8432-MHz-Quarz gespiesen wird, was nicht zufällig das 16fache der höchstmöglichen Baudrate von 115200 ist. 31250 Baud sind am PC nur mit modifizierter Hardware oder aber USB-Seriell-Bridges möglich, sofern deren Baudratengeneratoren diese Rate unterstützen.
> Die Hardware der seriellen Schnittstelle unterstützt 31250 Baud nicht, > da alle Baudraten ganzzahlige Brüche von 115200 sein müssen. Stimmt da war mal was... > Das Ding sollte im OMNI-Mode laufen und auf alles hören was kommt... Jetzt habe ich mal schnell die Bedienungsanleitung nach omni durchsucht, aber nichts gefunden. Stell mal auf Kanal 1 (also 0) ein, oder probier mal alle Kanäle durch beim AVR bzw. beim V-AMP.
1 | midiSendCC(0, 16, 30); |
2 | _delay_ms(1000); |
3 | midiSendProgramChange(0, 127); |
4 | _delay_ms(1000); |
5 | midiSendProgramChange(0,1); |
6 | _delay_ms(1000); |
7 | midiSendCC(0, 16, 127); |
8 | _delay_ms(1000); |
Hi Mano Wee, ich habe jetzt alles mal auf allen 16 Kanälen gesendet und siehe da, es tut sich was. Laut Anleitung soll er aber zumindest alles Kanäle empfangen. Nach etwas rumprobieren habe ich rausgefunden, das der nur auf Kanal 3 reagiert. Typisch Behringer... Vielen Dank für deine Hilfe, Sammy
Hallo Sammy, finde es bisschen komisch wenn der V-AMP 2 nur auf Kanal 3 reagiert. In der Bed.A. steht es zumindest anders drinnen (siehe Punkt 2.1 [8]). gruß mano
Aber viele Rechner haben doch einen 15poligen Game-Port-Stecker, auf dem Midi-Signale herausgeführt sind (sie kommen von der Soundkarte).
@Mano Wee ja, das wundert mich auch. Ich habe die Anleitung ebenfalls anders verstanden. Nunja, ich denke mal, wenn er zumindest auf Kanal 3 funktioniert, sollte es auch mit anderen Midi Geräten funktionieren. So viel Vertrauen habe ich in Behringer Hardware nicht... es war nur das einzige Midi-Gerät was ich hier liegen hatte. lg Sammy
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.