/*Basic UART Functions
  Version 1.0
  (c) 2004 by Malte Marwedel
  www.marwedels.de/malte
  Die Verwendung geschieht auf eigene Verantwortung, es wird nicht garantiert,
  dass diese Datei fehlerfrei ist.
  Die Datei darf frei verwendet werden.
  Änderungen sind erlaubt solage kenntlich gemacht wird, dass es sich
  nicht mehr um die original Datei handelt.
  Die Funktionen laufen bisher nur mit den gewöhnlichen AT90Sxx,
  die ATMEGAs haben andere Registernamen
  Der UART wird mit 9600 Baud, 8 Bit initialisiert
*/

#include <io.h>
#include <inttypes.h>
#include <string.h>
#include "basicuart.c"

#define baudrate 9600     // 9600 Baud
#define uartnumber (frequency/(baudrate*16l)-1)

extern uint8_t uart_get(void);


//Initialisiert den Uart
static __inline__ void
uart_init(void) {
  UBRR = uartnumber; //Geschwindigkeit
  UCSRB = 0x18;      //Transmitter und Reciver enabled
}
/*
static __inline__ uint8_t
uart_get(void) {
  return UDR;
}
*/

//Sendet ein Zeichen per UART, sobald der Puffer leer ist
static __inline__ void
uart_put(uint8_t value ) {
loop_until_bit_is_set(UCSRA,5);
UDR = value;
}

