Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
26 | walter | 1 | //############################################################################ |
2 | // - PPM2PentaxIR Uart for Debug only |
||
3 | // - ATMEGA8 mit 8MHz |
||
4 | // - Nur für den privaten Gebrauch |
||
5 | // - Keine Garantie auf Fehlerfreiheit |
||
6 | // - Kommerzielle Nutzung nur mit meiner Zustimmung |
||
7 | // - walter Meyer @ www.freakware.de |
||
8 | //############################################################################*/ |
||
9 | |||
10 | #include "main.h" |
||
11 | #include "uart.h" |
||
12 | |||
13 | void StartUART(void) |
||
14 | { |
||
15 | |||
16 | // UART Double Speed (U2X) |
||
17 | UCSRA |= (1<<U2X); |
||
18 | /* Enable receiver and transmitter, no RX Int, no TX Int */ |
||
19 | UCSRB = (1<<RXEN)|(1<<TXEN); // (1<<RXCIE)|(1<<TXCIE) |
||
20 | /* Set frame format: 8data, 1stop bit */ |
||
21 | UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); |
||
22 | |||
23 | //Teiler wird gesetzt |
||
24 | UBRRL= (SYSCLK / (BAUD_RATE * 8L) -1 ); |
||
25 | |||
26 | //öffnet einen Kanal für printf (STDOUT) |
||
27 | fdevopen (uart_putchar, NULL); |
||
28 | |||
29 | } |
||
30 | |||
31 | int uart_putchar (char c) |
||
32 | { |
||
33 | if (c == '\n') uart_putchar('\r'); |
||
34 | loop_until_bit_is_set(UCSRA, UDRE); |
||
35 | UDR = c; |
||
36 | |||
37 | return (0); |
||
38 | } |