⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart.h

📁 AVR Mega16 + Philips Remote Control >> C-Source code >> AVRStudio project
💻 H
字号:
#ifndef __UART_H_#define __UART_H_

#define TRUE    1
#define FALSE   0

#define USART_BAUD_RATE  19200
#define USART_BAUD_SELECT( USART_BAUD_RATE, F_CPU ) ( (F_CPU) / ( (USART_BAUD_RATE) * 16l )-1 )

#define USART_RECEIVE_INTERRUPT   SIG_USART_RECV
#define USART_TRANSMIT_INTERRUPT  SIG_USART_DATA

#define USART_RX_BUFFER_SIZE 128   /* 2,4,8,16,32,64,128 or 256 bytes */
#define USART_TX_BUFFER_SIZE 128  /* 2,4,8,16,32,64,128 or 256 bytes */
#define CmdBuff 64

#define USART_RX_BUFFER_MASK ( USART_RX_BUFFER_SIZE - 1 )
#define USART_TX_BUFFER_MASK ( USART_TX_BUFFER_SIZE - 1 )

#define ATMEGA_USART
#define USART_RECEIVE_INTERRUPT   SIG_USART_RECV
#define USART_TRANSMIT_INTERRUPT  SIG_USART_DATA
#define USART_STATUS   UCSRA
#define USART_CONTROL  UCSRB
#define USART_DATA     UDR
#define USART_UDRIE    UDRIE

#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 */
static volatile unsigned char USART_RxBuf[USART_RX_BUFFER_SIZE];
static volatile unsigned char USART_RxHead;
static volatile unsigned char USART_RxTail;
static volatile unsigned char USART_TxBuf[USART_TX_BUFFER_SIZE];
static volatile unsigned char USART_TxHead;
static volatile unsigned char USART_TxTail;
static volatile unsigned int USART_READY;
static volatile unsigned char CommandBuffer[ CmdBuff ];

/* Prototypes */
extern void USART_Init( unsigned int baudrate );
extern unsigned char USART_Receive( void );
extern void USART_Transmit( unsigned char data );
extern void usart_puts( const char *s );
extern void usart_putc( unsigned char data );
extern unsigned int usart_getc( void );
extern unsigned  int usart_ready( void );
extern int DataInReceiveBuffer( void );

void usart_16bitHex(unsigned int hexIn);
void usart_SendBcd( unsigned char hexIn );
void usart_SendBin( unsigned char x );
void usart_SendDecDigit( unsigned long x );
void usart_SendDec( unsigned int x, unsigned char n, unsigned char fillch );
void usart_SendFloat( float usart_value,unsigned char usart_digit ,unsigned char usart_precision);
void usart_puts_p(const char *progmem_s ); 
void usart_SendInt(unsigned  int number );

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -