From 0a6666c2f63e747c6eeae820152a69fff0e72ee9 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 16 Mar 2012 13:37:27 +0000 Subject: switch to dynamic memory allocation --- kernel/lcd3.c | 7 ++++--- kernel/uart.c | 9 +++++---- 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'kernel') diff --git a/kernel/lcd3.c b/kernel/lcd3.c index 6bbb847..f8b3988 100644 --- a/kernel/lcd3.c +++ b/kernel/lcd3.c @@ -25,8 +25,6 @@ #include "kernel.h" #include "tasks.h" -FILE lcd_stream = FDEV_SETUP_STREAM(lcd_putchar, NULL, _FDEV_SETUP_WRITE); - #define CLEAR_DISPLAY _BV(0) #define RETURN_HOME _BV(1) @@ -88,6 +86,8 @@ write_byte(uint8_t byte, uint8_t rs) void lcd_init(void) { + FILE *lcd_stream; + PORTDIR |= (_BV(DATA) | _BV(CLOCK) | _BV(E)); /* task init: wait >40ms */ @@ -108,7 +108,8 @@ lcd_init(void) home(); - stderr = &lcd_stream; + lcd_stream = fdevopen(lcd_putchar, NULL); + stderr = lcd_stream; } int diff --git a/kernel/uart.c b/kernel/uart.c index 02911db..21389c7 100644 --- a/kernel/uart.c +++ b/kernel/uart.c @@ -30,8 +30,6 @@ #include "kernel.h" #include "tasks.h" -FILE uart_stream = FDEV_SETUP_STREAM(uart_putchar, uart_getchar, _FDEV_SETUP_RW); - #if USE_RXCIE ISR(USART_RX_vect) { @@ -76,6 +74,8 @@ ISR(USART_UDRE_vect) void uart_init(void) { + FILE *uart_stream; + UCSR0B = _BV(RXEN0) | _BV(TXEN0); #if USE_RXCIE UCSR0B |= _BV(RXCIE0); @@ -88,8 +88,9 @@ uart_init(void) UCSR0A &= ~_BV(U2X0); #endif - stdin = &uart_stream; - stdout = &uart_stream; + uart_stream = fdevopen(uart_putchar, uart_getchar); + stdin = uart_stream; + stdout = uart_stream; } int -- cgit v1.2.3