[BACK]Return to sausart.c CVS log [TXT][DIR] Up to [local] / funnyos / arch / sam7s64 / dev

Annotation of funnyos/arch/sam7s64/dev/sausart.c, Revision 1.4

1.1       nbrk        1: /*
1.4     ! nbrk        2:  * $Id: sausart.c,v 1.3 2008/01/06 18:15:03 nbrk Exp $
1.1       nbrk        3:  */
                      4: #include <sys/types.h>
                      5:
                      6: #include <arch/sam7s64/dev/at91sam7.h>
                      7:
                      8: /*
                      9:  * driver for USART.
                     10:  */
                     11:
                     12: void
                     13: sausart_early_putchar(char ch)
                     14: {
                     15:        /*
                     16:         * Put a character into an unconfigured console.
1.3       nbrk       17:         * Note that USART1 should be already configured (clocks/un-pio, etc.).
1.1       nbrk       18:         * Such configuration is done in config_machineinit().
                     19:         */
                     20:
                     21:        /* wait for previous character to transmit */
1.3       nbrk       22:        while( ((*AT91C_US1_CSR) & AT91C_US_TXRDY) == 0)
1.1       nbrk       23:                ;
                     24:
1.2       nbrk       25:        /* if we encounter \n (LF), send \r\n (CRLF) */
                     26:        if (ch == '\n') {
                     27:
1.3       nbrk       28:                *AT91C_US1_THR = 0x0d;
                     29:                while( ((*AT91C_US1_CSR) & AT91C_US_TXRDY) == 0)
1.2       nbrk       30:                        ;
                     31:
1.3       nbrk       32:                *AT91C_US1_THR = 0x0a;
1.2       nbrk       33:
                     34:                return;
                     35:        }
                     36:
1.1       nbrk       37:        /* put current character into Transmit Hold Register */
1.3       nbrk       38:        *AT91C_US1_THR = ch;
1.1       nbrk       39: }
                     40:

CVSweb