/
uart.h
52 lines (40 loc) · 1.04 KB
/
uart.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef UART_H
#define UART_H
/**
* UART Library
*
* #define F_CPU 16000000 // Oszillator-Frequenz in Hz
* #define UART_INTERRUPT 1
* #define UART_BAUD_RATE 19200
* #define UART_RXBUFSIZE 16
* #define UART_TXBUFSIZE 16
* #define UART_LINE_BUFFER_SIZE 40
* #define UART_LEDS // LED1 and LED2 toggle on tx and rx interrupt
*
*/
#include "config.h"
#include <inttypes.h>
#include <avr/pgmspace.h>
#ifdef UART_XON_XOFF
#define DC1 0x11
#define DC3 0x13
#define XON DC1
#define XOFF DC3
#endif
#ifdef UART_HOOK
extern void (*uart_hook) (uint8_t); /* this is a pointer to a function ;-) */
#endif
void uart_init(void);
void uart_putc(char c);
void uart_putstr(char * str);
void uart_putstr_P(PGM_P str);
void uart_hexdump(void* buf, int len);
char uart_getc(void);
char uart_getc_nb(char *c); /* returns 1 on success */
/*
get one Cariage return terminated line
echo charakters back on Uart
returns buffer with zero terminated line on success, 0 pointer otherwise
*/
char * uart_getline_nb(void);
#endif