#ifndef _UART_H
 
#define _UART_H 1
 
 
 
/* размер буфера д.б. равен СТЕПЕНЬ_ДВОЙКИ байт (32,64,128 или 256) */
 
#define UART_RXBUFF_SIZE 128
 
#define U_RX_MASK (UART_RXBUFF_SIZE-1)
 
/* размер буфера д.б. равен СТЕПЕНЬ_ДВОЙКИ байт (32,64,128 или 256) */
 
#define UART_TXBUFF_SIZE 128
 
#define U_TX_MASK (UART_TXBUFF_SIZE-1)
 
 
 
 
 
#ifdef __ASSEMBLER__
 
/* ------------------------------------------------------------------------- */
 
/* u8 uart_rxbuff[UART_RXBUFF_SIZE]; */
 
.extern uart_rxbuff
 
/* u8 uart_rx_hd, uart_rx_tl; */
 
.extern uart_rx_hd
 
.extern uart_rx_tl
 
/* u8 uart_txbuff[UART_TXBUFF_SIZE]; */
 
.extern uart_txbuff
 
/* u8 uart_tx_hd, uart_tx_tl; */
 
.extern uart_tx_hd
 
.extern uart_tx_tl
 
/* ------------------------------------------------------------------------- */
 
#else // #ifdef __ASSEMBLER__
 
 
 
#include "_types.h"
 
 
 
extern volatile u8 uart_rx_hd;
 
extern u8 uart_rx_tl;
 
extern u8 uart_tx_hd;
 
extern volatile u8 uart_tx_tl;
 
 
 
#define RTS_CLR() PORTD&=~(1<<PD5)
 
 
 
void directuart_putchar(u8 ch);
 
void directuart_crlf(void);
 
void directuart_init(void);
 
 
 
void uart_chk_cts(void);
 
void uart_putchar(u8 ch);
 
u8 uart_getchar(u8 *ch);
 
void uart_crlf(void);
 
void uart_dump512(u8 *buff);
 
void uart_init(void);
 
 
 
#endif // #ifndef __ASSEMBLER__
 
 
 
#endif // #ifndef _UART_H