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