Hi,
ich probiere seit einigen Stunden an einer einfachen UART Kommunikation
von uC zum PC. Es soll auch eigentlich gar nicht viel passieren. Ich
habe mir von Fleury die Libary heruntergeladen und habe versucht einfach
nur das Testprogramm auszuführen um zu sehen, ob ich auch alles schön
richtig gelötet habe.
Ich empfange auch per Terminal Daten, allerdings nur kryptische (siehe
Anhang). Das Bild zeigt an, was ich empfange, nämlich das hier:
ÿÙå¹?½Ù<0><0>€
Zur Info vielleicht noch: benutze ein ATmega8, 4MHz Quarz (Fuses auch
richtig eingestellt).
Ich tippe, es liegt am Terminalprogramm. Aber egal was ich auch änder,
das Ergebnis bleibt konstant.
Gruß und danke für alle guten Tipps,
Matze
anhand der eingestellten schnittstelle gehe ich davon aus, das du keine
"echte" seriell benutzt sondern eine USB oder UDP RS232, stimmt das ??
desweiteren würde mich noch interressieren womit du die pegelanpassung
machst, z.B. Max 232 oder mit Dioden oder wie auch immer, im Code ist
auf den ersten Blick kein Fehler zu erkennen.
Gruß
Dennis
ne, meckert nich. andere programme mit dieser makefile laufen wie
gewollt. aber fällt mir jetzt auch erst auf.
du hast also auch keine lösung?
gruß,
matze
PS: ich habe vergessen, daß ich von conrad einen USB - Com Adapter habe.
aber von nem kumpfel laufen damit programme. allerdings mit der
sprintf-Anweisung.. kanns daran liegen
ein teil meiner Lösung wäre, die uart.c mit ins makefile aufzunehmen,
der zweite Lösungsansatz liegt an der beschaltung des uC, was ich damit
mein, wie du die pegel von uC und usb adapter angleichst ??
> Ich empfange auch per Terminal Daten, allerdings nur kryptische> (siehe Anhang). Das Bild zeigt an, was ich empfange, nämlich das> hier: ÿÙå¹?½Ù<0><0>€
...
> Ich tippe, es liegt am Terminalprogramm.
Mit Sicherheit nicht.
Wenn du kryptische Zeichen empfängst, liegt das Problem praktisch immer
darin, dass das Timing nicht stimmt oder der Pegelkonverter fehlerhaft
ist. Da wir mit einiger Sicherheit davon ausgehen können, dass am PC das
Timing stimmen wird, bleibt nur dein µC der das Timing vermasselt.
> Zur Info vielleicht noch: benutze ein ATmega8, 4MHz Quarz (Fuses auch> richtig eingestellt).
Und genau hier liegt meistens das Problem. Du wirst zwar einen Quarz am
µC haben, der dürfte aber nicht benutzt werden. Schreib doch mal ein
Testprogramm, welches eine Led im Sekundentakt blinken lässt. Blinkt die
dann mit 4 Sekunden, weißt du, das der Quarz wirkungslos ist.
Ich habe einfach einen MAX232 als Pegelwandler eingebaut.
Ich habe mit einem zweiten mega8 Board und zwei unterschiedlichen
quarzen geschaut, ob jeweis eine LED an jedem board unterschiedlichen
blinken. und sie tun es. wenn ich die quarze tausche, ändert sich die
frequenz.
Ich habe noch ein bild angehängt, wie ich meine fuses eingestellt habe.
gruß,
matze
Eine eigene Frage?
Dieser Thread ist über 17 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.