uart sendet nicht immer richtig

Gast #998231
Lesenswert?

Irgendwie bekomme ich es nicht auf die Reihe einfache Zeichen über den 
Uart an den Computer zu senden..
In meinem Programm sollen einfach nur 2 zeichen gesendet werden die ich 
dann im Hyperterminal aufnehme, doch statt "MA" kommen andauernd andere 
Buchstaben, mal SXSXSX oder was auch immer. Die Baudrate würde ich nach 
meiner Recherche schonmal ausschließen, so wie ich das verstanden hab 
kommt dann ja nur Mist. Irgendwie kommt mir das so vor als wenn er 
einfach zu früh oder zu spät beginnt abzutasten, wenn ich das serielle 
kabel mal reinstecke und wieder rausziehe ist es ca alle 5 mal wieder 
richtig.. Das Fusebit für den externen oszillator hab ich mit der myavr 
software gesetzt (im übrigen funktioniert der uart mit dem testprogramm 
auch 100%ig) also gehe ich davon aus das der fehler in meinem quellcode 
liegt.. vielleicht kann mal jemand drüber schauen.. vielleicht hab ich 
auch einfach gerade ein brett vor dem kopf
Angehängte Dateien:
#998240
Lesenswert?

Wo ist "F_CPU" definiert?
Die Übertragungsrate wird damit ja ausgerechnet.

Wenn du zwei Zeichen sendest und mehrere Zeichen ankommen, dann sieht 
das sehr nach Baudratenfehler aus. Hast du diesen mal von Hand 
ausgerechnet und mit dem Ergebnis verglichen, dass dir der Simulator 
ausspuckt?

PS: Die Variable "Zeichen" kannst du dir auch sparen. Schreib einfach:

USART_SENDEN('M');
Gast #998246
Lesenswert?

ja klar aber immerhin ist es ein gleichmässiger "mist" und alle paar 
male passt es ja auch wieder (wenn ich das kabel ziehe und wieder 
reinstecke) ich guck mal gerade wie fcpu definiert ist, hab ich im 
makefile gemacht

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren