Gast
#4925122
Hallo, ich habe ein Übertragungsproblem mit Midi. Und zwar habe ich bei meinem ATmega644p zwei UART´s, wobei ich auf den ersten (RXD0 und TXD0) zwei MIDI-Buchsen für TX und RX gehängt habe. Als Taktgeber verwende ich übrigens den internen 8Mhz Oszillator. Nun gehe ich in die while(1)-Schleife in der Main-Funktion, und schiebe dort ein ASCII-Zeichen, ( in meinem Fall 0b01010101 ) in das Sende-Register (UDR0), das mir dann das entsprechende UART-Signal auf dem TXD0-Pin mit Midi-Baudrate von 31250 ausgibt. Siehe Anhang "31250_BAUD_TXD0_Start.png" Hier sieht das Signal noch schön aus.... Jetzt habe ich aber die zwei Midi-Buchsen die ja auf RXD0 und TXD0 hängen mit einem Midi-Kabel verbunden. Also kurzgeschlossen. (PS: Die Sende-und Empfangsschaltung habe ich aus dem Mikrocontroller-Beitrag https://www.mikrocontroller.net/articles/MIDI".) Oder Siehe Anhang "Midi Sender.png" und "Midi Empfänger.png"...hier habe ich beim Sender 220 Ohm Widerstände verwendet, weil ich ja eine 5V Spannungsversorgung habe. Aber abgesehen davon sieht mein UART-Signal, nachdem es durch die Leitung gegangen ist, und durch den Optokoppler (PC900V) gewandert ist, folgendermaßen aus: Anhang "31250_BAUD_RXD0_Ende.png" Dabei ist das Midi-Kabel noch sehr kurz gewählt (geschätzt 1m). Sobald aber bei RXD0 ein komplettes Byte übertragen wurde, wird bei mir ein Interrupt ausgelöst, und das Empfangene Zeichen auf den 2ten UART, den der Mikrocontroller besitzt ausgegeben, also ins Register UDR1 geschrieben (Also bei PIN TXD1 ausgegeben). Wenn ich dort jetzt das Signal mit dem Oszilloskop messe, sieht es so aus: Anhang "31250_BAUD_TXD1_Ausgabe.png" Leider wird, wie man sicher an den Screenshots erkennen kann, das Signal verfälscht, und so falsch wiedergegeben. Woran kann das liegen ? Ich nehme an der Hardware, oder ?? Was kann ich beim Schaltplan ändern ?? Sicherheitshalber befindet sich hier noch der µC-Code: Danke vielmals schon im Voraus, mfg Felix
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |





