From 8d7b858476f143907cc95d0c1a3a7bbb1b5776d3 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 6 Jul 2011 07:06:38 +0000 Subject: prepare uart for stdio --- kernel/tasks.h | 4 ++-- kernel/uart.c | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'kernel') diff --git a/kernel/tasks.h b/kernel/tasks.h index 9c0288f..020bb08 100644 --- a/kernel/tasks.h +++ b/kernel/tasks.h @@ -67,8 +67,8 @@ struct ppmarg { }; void init_uart(void); -char uart_getchar(void); -void uart_putchar(char); +int uart_getchar(void); +int uart_putchar(char); void heartbeat(void *); void rgb(void *); diff --git a/kernel/uart.c b/kernel/uart.c index 9163e0b..a952758 100644 --- a/kernel/uart.c +++ b/kernel/uart.c @@ -21,6 +21,7 @@ #endif #include +#include #include #include #include @@ -28,14 +29,18 @@ #include "kernel.h" #include "tasks.h" -void +int uart_putchar(char c) { + if (c == '\n') + uart_putchar('\r'); loop_until_bit_is_set(UCSRA, UDRE); UDR = c; + + return 0; } -char +int uart_getchar(void) { char c; -- cgit v1.2.3