Folgende Angabe eines externen Gerätes (UART über TTL Level): "Datenformat: 9600 Baud, 1 Startbit, 1 Stopbit, kein Parity, 8 Datenbits, getrennte Sende- und Empfangsleitungen. High Pegel + 5 Volt logisch 0 Low Pegel 0 Volt logisch 1" Ist das eigentlich "umgekehrt" zum normalen UART? Habe gerade keinen Oszi da. An meinem UART bzw. Terminal kommt jedoch nix an. Mit Inverter in der Leitung kommt zwar was, aber nur Müll. Was tun? Ich denke ich sehe den Wald vor lauter Bäumen nicht... Jan
Hallo, ja, Pegelzuordnung ist RS232, 0 = +5V (eigentlich +12V), 1 = 0V (eigentlich -12V). Wenn Du auf einen TTL-UART gehst, müßte es mit invertieren eigentlich gehen. Wenn Du auf echte Pegel kommen willst, müßte invertieren und ein MAX232 eigentlich passen. Gruß aus Berlin Michael
Ja, sehe ich ja auch so. Aber das Gerät sollte 5 Bytes senden, die im konkreten Fall C0 D0 E2 F0 84 sein müssten. Ich empfange z.B. 00 01 C0 00 00 00. Baudrate ist natürlich korrekt eingestellt. Keine Ahnung warum. Werde wohl morgen meinen Oszi aktivieren müssen...
Naja, wenn Du eine RS232-Verbindung elektrisch invertierst, dann sieht die Zeichensynchronisation der UART (die auf einem Startbit mit dem korrekten Pegel aufsetzt) anders aus, deswegen kannst Du nicht einfach invertierte Werte erwarten. Außerdem sollte die UART "frame error" melden, so sie denn sowas kann.
Ja, das tat sie dann auch ;-), der Zusammenhang ist mir so schon klar. Ich habe jedoch vermutet, das Gerät ist "andersrum" mit L/H Pegeln (warum auch immer). Es war letztendlich ein Pegel-/ Triggerproblem. Fertig. Nun läuft es. So ein Oszi ist halt manchmal Gold wert... Jan
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.