1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
/*
* $Id$
*/
#include <stdio.h>
#include "debugio.h"
#include <avr/interrupt.h>
/*
* DEBUG_OUT_PORT - -W0x20,/dev/stderr
* DEBUG_IN_PORT - -R0x22,/dev/stderr
*/
#define DEBUG_OUT_PORT (*( (volatile char *)0x20))
#define DEBUG_IN_PORT (*( (volatile char *)0x22))
int debug_putchar(char c, FILE *stream)
{
DEBUG_OUT_PORT = c;
if (c == '\n')
debug_putchar('\r', stream);
return 0;
}
int debug_getchar(FILE *stream)
{
return DEBUG_IN_PORT;
}
FILE debug_str =
FDEV_SETUP_STREAM(debug_putchar, debug_getchar, _FDEV_SETUP_RW);
/*
* UART0 IO Support
*/
#include "uart.h"
#include "defines.h"
int uart_0_putchar(char c, FILE *stream)
{
uart_0_putc(c);
}
int uart_0_getchar(FILE *stream)
{
return uart_0_getc();
}
FILE uart0_str =
FDEV_SETUP_STREAM(uart_0_putchar, uart_0_getchar, _FDEV_SETUP_RW);
/*
* UART1 IO Support
*/
int uart_1_putchar(char c, FILE *stream)
{
uart_1_putc(c);
}
int uart_1_getchar(FILE *stream)
{
return uart_1_getc();
}
FILE uart1_str =
FDEV_SETUP_STREAM(uart_1_putchar, uart_1_getchar, _FDEV_SETUP_RW);
/*
* Initialize whatever we have to
*/
void debugio_init(void)
{
uart_0_init(UART0_BAUD, F_CPU);
uart_1_init(UART1_BAUD, F_CPU);
sei();
}
|