加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
avr_uart.h 1.23 KB
一键复制 编辑 原始数据 按行查看 历史
又系新一天 提交于 2018-05-09 20:21 . first commit
#ifndef _AVR_UART_H_
#define _AVR_UART_H_
/*
#define RXB8 1
#define TXB8 0
#define PE 2 //M16
//#define UPE 2 //M128
#define OVR 3
#define FE 4
#define UDRE 5
#define RXC 7*/
//宏定义
#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<PE) //M16
//#define PARITY_ERROR (1<<UPE) //M128
#define DATA_OVERRUN (1<<DOR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)
#define BAUD 9600
// USART Receiver buffer
// 全局变量,会在中断服务程序中被修改,须加volatile限定,不要就会出错啦
#define RX_BUFFER_SIZE 1 // 接收缓冲区大小,可根据需要修改
volatile unsigned char rx_buffer[RX_BUFFER_SIZE]; // 接收缓冲区,为char型变量组成的数组,该数组构成环形队列,个数为RX_BUFFER_SIZE
volatile unsigned char rx_wr_index,rx_rd_index,rx_counter;
// This flag is set on USART Receiver buffer overflow
//volatile char rx_buffer_overflow; //接收缓冲区溢出标志
// USART Transmitter buffer
#define TX_BUFFER_SIZE 100
volatile char tx_buffer[TX_BUFFER_SIZE];
volatile unsigned char tx_wr_index,tx_rd_index,tx_counter;
volatile unsigned char comm_flag;
volatile unsigned char Uart_RecvFlag;
void uart_putchar(char c);
char uart_getchar(void);
void uart_printf(char *fmt, ...);
void uart_init(void);
void uart_putint(int c);
#endif
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化