/* * uart.h * * Created on: 01.12.2012 * Author: mikrocontroller.net * web: http://www.mikrocontroller.net * sub Author: Pascal Gollor (www.pgollor.de) */ #ifndef UART_H_ #define UART_H_ #include <avr/io.h> #include <avr/pgmspace.h> #include <stdio.h> extern void uart_init (unsigned long); extern int uart_putc (const uint8_t); void uart_puts (const char *s); extern uint8_t uart_getc_wait (void); extern int uart_getc_nowait (void); void usart_write_P (const char *Buffer,...); #define usart_init(baudrate) uart_init(baudrate); #define usart_write_char(c) uart_putc(c); #define usart_write_str(c) uart_puts(c); #define usart_write(format, args...) usart_write_P(PSTR(format) , ## args); #define printf(format, args...) usart_write_P(PSTR(format), ## args); static inline void uart_flush (void) { while (UCSRB & (1 << UDRIE)); } #endif /* UART_H_ */