UART Bit UDRE

Gast #323008
Lesenswert?
• ▲
▼
ICh habe hier eine Schleife die zwei Bytes vom SPDR an den UART
rausgeben soll.
.
.
....
for(i=0;i<2;i++)
    {
    SPDR = 0x00;              //Byte zum Schieben
    while(!(SPSR&(1<<SPIF)));  //fertig geschoben?
                while(!(UCSRA&(1<<UDRE))); //UDR leer?
    UDR=SPDR;
}
....
.
.

Komischerweise geht das erste Byte via UART raus, das zweite jedoch
nicht. Da bleibt er im letzten while hängen.

Hab ich da ein Verständnisproblem? Wenn ich im AVR Studio (letzte
Version) das UDRE Bit setze, geht er auch nicht aus der Schleife raus.
Der Controller bleibt ebenfalls so hängen.

Hat jemand mal einen Tipp für mich? Ich möchte übrigens keinen INT
nutzen!

Herbert
Gast #323010
Lesenswert?
• ▲
▼
Nee ist geklärt. Das Problem lag woanders. Ich sage nur RTFM. Das UART
kann mit dem UDRE abgefragt werden, nur braucht es im Simulator z.B.
einige Steps bevor das Bit wieder gesetzt ist und es weitergeht.

Danke trotzdem.

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