//
//
#ifndef __UART_H_
#define __UART_H_

//  使用する UARTのチャンネルを 1 に設定する
#define	UART1		1
#define UART2		0

// CPU のクロック周波数
#define FCYL		8000000
#define	BRGH		1

//=====================================================================

#define	UART_BUFFER_SIZE	64
#define	UART_BUFFER_SIZE_MASK	63


#if UART1==1
extern unsigned int	uart1_start;
extern unsigned int	uart1_stop;
extern unsigned int uart1_overflow;
extern unsigned char	uart1_buffer[UART_BUFFER_SIZE];
#endif

#if UART2==1
extern unsigned int	uart2_start;
extern unsigned int	uart2_stop;
extern unsigned int uart2_overflow;
extern unsigned char	uart2_buffer[UART_BUFFER_SIZE];
#endif

void __attribute__((__interrupt__, auto_psv)) _U1RXInterrupt(void);
void uart_init(unsigned int, unsigned int);


#if UART1 == 1
void uart1_send( unsigned char *, unsigned int);
void uart1_send_string( unsigned char *);
unsigned int uart1_recv_char(unsigned char *);
unsigned char uart1_recv_char_wait( void );
unsigned int uart1_recv_check(void);
#endif

#if UART2 == 1
void uart2_send( unsigned char *, unsigned int);
void uart2_send_string( unsigned char *);
unsigned int uart2_recv_char(unsigned char *);
unsigned char uart2_recv_char_wait( void );
unsigned int uart2_recv_check(void);
#endif


#endif  // __UART_H_
