Uart Problem die 2te

Gast #109015
Lesenswert?

Hi,

habe ein Problem mit dem UART des Atmega128


habe die BAudrate auf 19200bps eingestellt und die Register UCSR0B und
UCSR0C nicht verändert.

Eigenlich müssten jetzt die "Standart" konfiguartionen geladen sein,
also:
-asynchron
-none parity
-1 stop bit
-8 bit

aber bei demir klappt das nicht so richtig !! ich muss bei meine
terminal programm immer auf 7 bit character size stellen um nicht
zeichensalat zu erhalten !?

ich habe keine ahnung mehr wie ich das jett verändern könnte, die
"FUSE" des atmega verändern ? ich benutze PonyProg


MfG
Hans
Angehängte Dateien:
Gast #109016
Lesenswert?

Hab nen Fehler in deiner Stack-Init gefunden:


ldi R16, RAMEND
out SPL, R16


richtig:

ldi R16, LOW(RAMEND)
out SPL, R16
ldi R16, HIGH(RAMEND)
out SPH, R16

---

vielleicht hilf dir das weiter


Gruß Michael
Gast #109018
Lesenswert?

Hm.
- Verwend doch die Registerbezeichnung ("temp"), wenn Du sie schon so
nett definierst.
- Wieso verwendest Du fuer UBRR0L out und fuer UBRR0H sts? Wenn ich
mich nicht irre, verwendet man fuer beide den Befehl out.
- das Senden von 10, 13 koenntest Du ja auch die print-Funktion machen
lassen, indem Du 10, 10 einfach noch an die String-Konstante anhaengst.
:-?

Nur so ein paar Ideen... :)

Viel Erfolg!
j.

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