Forum: Compiler & IDEs UART Header Frage


von Ismir (Gast)


Lesenswert?

Guten Abend,

Ich saß bei meinem Prof. heute im Labor und wollte mir Werte von meinem 
Mikrocontroller per UART ausgeben lassen. Das Problem war, dass ich 
keine Verbindung zu Realterm herstellen konnte. Der TxD Pin des 
Mikrocontrollers arbeitete jedoch zuverlässig (Sinalerzeugung mittels 
Ossi geprüft). Nun ist mir hier zuhause aufgefallen, dass ich vergessen 
hatte die Funktionsprototypen sowie den Header des extra Moduls 
einzubinden. Könnte es möglich sein, dass der Mikrocontroller das 
Ausgabesignal erzeugt jedoch dann nichts Empfangen kann (Was macht der 
Compiler)?

von A. S. (Gast)


Lesenswert?

Ismir schrieb:
> Der TxD Pin des Mikrocontrollers arbeitete jedoch zuverlässig (Sinalerzeugung 
mittels Ossi geprüft)

Die Prüfung sollte auch mit einem PC-Programm erfolgen, ob es bei den 
gewünschten Schnittstellenparametern auch richtig empfängt. Schließlich 
kann man da viel falsch machen (Baudrate, Parity, Datenfluss, ...)

. Nun ist mir hier zuhause aufgefallen, dass ich vergessen
> hatte die Funktionsprototypen sowie den Header des extra Moduls
> einzubinden.
Das ist nicht der primäre Fehler. Das eigentliche Problem ist, dass Du 
die Warnungen entweder ausgeschaltet hast, oder ignorierst. Beides macht 
eine Fehlerspekulation überflüssig.

> Könnte es möglich sein, dass der Mikrocontroller das Ausgabesignal erzeugt 
jedoch dann nichts Empfangen kann (Was macht der Compiler)?

Den Compiler zu verstehen braucht etwas mehr Zeit. Oder ganz kurz: Ja, 
kann sein. Der Compiler weiss manchmal nicht, wieviel Bytes auf den 
Stack sind/müssen. Hochprior ist erstmal die Analyse, ob der 
TX-Datenstrom wie erwartet ist und Compilerwarnungen an.

von Wolfgang H. (Firma: AknF) (wolfgang_horn)


Lesenswert?

Hi, Ismir,

Verständnis der Sprache ist noch lange nicht garantiert, wenn man sieht, 
wie eine Person ihre Lippen bewegt.

Zur Sendung über UART müssen die Baudrate eingestellt werden, das Format 
und manches andere. Mit einiger Wahrscheinlichkeit finden sich in den 
Header-Dateien, von denen Du schreibst, genau diese Informationen.

Dann hast Du einen ersten Schritt erfolgreich getan - Dein UART sendet - 
aber weitere müssen folgen, damit Realterm dann auch versteht.

Ciao
Wolfgang Horn

von Wolfgang (Gast)


Lesenswert?

Ismir schrieb:
> Könnte es möglich sein, dass der Mikrocontroller das
> Ausgabesignal erzeugt jedoch dann nichts Empfangen kann (Was macht der
> Compiler)?

Dafür reicht schon, dass die Polarität des Signals falsch ist. Ein PC 
kann mit dem Ausgangssignal des µC normalerweise direkt nichts anfangen. 
Realterm ist nur eine Software. Bevor die etwas mit dem Signal vom µC 
anfangen kann, muss noch irgendeine geeignete Hardware zwischen µC und 
PC sitzen.

von W.S. (Gast)


Lesenswert?

Wolfgang schrieb:
> Ein PC
> kann mit dem Ausgangssignal des µC normalerweise direkt nichts anfangen.

Drück dich doch etwas klarer aus!

Also:
Im PC oder in einem USB->V24-Adapter sitzen Pegelwandler, die die 
Signale von den geräteinternen Pegeln in normgereichte Pegel für die V24 
umsetzen - und genau solche Pegelwandler muß Ismir auch auf seiner 
Leiterplatte haben, sonst wird das nichts - es sei denn, er hat einen 
USB->Seriell (nicht V24) Adapter, der TTL-Signale liefert.

W.S.

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.