UART.h


1
/*
2
 * UART.h
3
 *
4
 *  Created on: Feb 28, 2011
5
 *      Author: toti
6
 */
7
8
#ifndef UART_H_
9
#define UART_H_
10
11
#include <avr/io.h>
12
#include "regs.h"
13
#include <util/delay.h>
14
#include <avr/interrupt.h>
15
16
#define XON 17
17
#define XOFF 19
18
19
#define FOSC 8000000 // Clock Speed
20
#define BAUD 9600
21
#define MYUBRR FOSC/16/BAUD-1
22
#define UART_RX_BUFFER_SIZE 64
23
#define UART_RX_BUFFER_MASK (UART_RX_BUFFER_SIZE - 1)
24
#define UART_TX_BUFFER_SIZE 64
25
#define UART_TX_BUFFER_MASK (UART_TX_BUFFER_SIZE - 1)
26
27
28
/* 
29
** high byte error return code of uart_getc()
30
*/
31
#define UART_FRAME_ERROR      0x0800              /* Framing Error by UART       */
32
#define UART_OVERRUN_ERROR    0x0400              /* Overrun condition by UART   */
33
#define UART_BUFFER_OVERFLOW  0x0200              /* receive ringbuffer overflow */
34
#define UART_NO_DATA          0x0100              /* no receive data available   */
35
36
//void send_as_bytes(uint8_t length, char *s);
37
void init_USART();
38
void sendchar(unsigned char c);
39
void sendUSART(char *s);
40
unsigned int uart_getc(void);
41
void uart_putc_buffert(unsigned char data);
42
43
44
#endif /* UART_H_ */