Forum: Compiler & IDEs Wer kann mir das einmal vorlesen? (geht schnell - hoffentlich)


von Stephan (Gast)


Lesenswert?

Hallo!
Der angehängte Programmmcode ist von Fleury und schon vielfach 
angesprochen. Ich frage mich:
Wo zum Henker wird hier gesendet, sprich, das UDR- Register mit einem 
Wert beschrieben?!
(Ergänzende Erklärung:  #define UART0_CONTROL  UCSR0B)

void uart_putc(unsigned char data)
{
    unsigned char tmphead;

    tmphead  = (UART_TxHead + 1) & UART_TX_BUFFER_MASK;

    while ( tmphead == UART_TxTail ){
        ;/* wait for free space in buffer */
    }

    UART_TxBuf[tmphead] = data;
    UART_TxHead = tmphead;

    /* enable UDRE interrupt */
    UART0_CONTROL    |= _BV(UART0_UDRIE);

}

von René Z. (dens)


Lesenswert?

Stephan schrieb:
> Wo zum Henker wird hier gesendet, sprich, das UDR- Register mit einem
> Wert beschrieben?!

In dieser Funktion gar nicht, ich vermute dass UART_TxBuf[] in einem 
Interrupt geleert (=gesendet) wird.


Und um in deinem Wortlaut zu bleiben: Was zum Henker soll dieser 
Threadtitel?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?


Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.