Go to most recent revision | Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 28 | 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 | } |