📄 uart.h
字号:
#ifndef _UART_H_#define _UART_H_
#define USART_RECEIVE_INTERRUPT SIG_USART_RECV
#define USART_TRANSMIT_INTERRUPT SIG_USART_DATA
#define USART_BAUD_RATE 9600
#define USART_BAUD_SELECT F_CPU/16/USART_BAUD_RATE-1
#define USART_RX_BUFFER_SIZE 64 /* 2,4,8,16,32,64,128 or 256 bytes */
#define USART_TX_BUFFER_SIZE 32 /* 2,4,8,16,32,64,128 or 256 bytes */
#define USART_RX_BUFFER_MASK (USART_RX_BUFFER_SIZE - 1)
#define USART_TX_BUFFER_MASK (USART_TX_BUFFER_SIZE - 1)
#define USART_STATUS UCSR0A
#define USART_CONTROL UCSR0B
#define USART_DATA UDR0
#define USART_UDRIE UDRIE0
#define USART_FRAME_ERROR 0x0800 /* Framing Error by UART */
#define USART_OVERRUN_ERROR 0x0400 /* Overrun condition by UART */
#define USART_BUFFER_OVERFLOW 0x0200 /* receive ringbuffer overflow */
#define USART_NO_DATA 0x0100 /* no receive data available */
/* Static Variables */
volatile static unsigned char USART_RxBuf[USART_RX_BUFFER_SIZE];
volatile static unsigned char USART_RxHead;
volatile static unsigned char USART_RxTail;
volatile static unsigned char USART_TxBuf[USART_TX_BUFFER_SIZE];
volatile static unsigned char USART_TxHead;
volatile static unsigned char USART_TxTail;
volatile static unsigned int USART_READY;
volatile static unsigned int USART_lastError;
volatile static unsigned int USART_ERROR;
/* Prototypes */
extern void usart_init( unsigned int baudrate );
extern void usart_puts( const char *s );
extern void usart_putc( unsigned char data );
extern void usart_puts_p(const char *progmem_s );
extern unsigned int usart_getc( void );
extern unsigned int usart_ready( void );
extern int DataInReceiveBuffer( void );
//extern void usart_SendBin( unsigned char x );
extern void usart_SendBcd( unsigned char hexIn);
//extern void usart_8bitHex(unsigned int hexIn);
//extern void usart_16bitHex(unsigned int hexIn);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -