📄 uart.h
字号:
#ifdef UART_GLOBALS
#define UART_EXT
#else
#define UART_EXT extern
#endif
#define BAUD_CNT 9
//#define BAUD_115200 256L - (OSC_FREQ/192L)/115200L
#define BAUD_57600 256L - (OSC_FREQ/192L)/57600L
//#define BAUD_38400 256L - (OSC_FREQ/192L)/38400L
#define BAUD_28800 256L - (OSC_FREQ/192L)/28800L
#define BAUD_19200 256L - (OSC_FREQ/192L)/19200L
#define BAUD_14400 256L - (OSC_FREQ/192L)/14400L
#define BAUD_9600 256L - (OSC_FREQ/192L)/9600L
#define BAUD_4800 256L - (OSC_FREQ/192L)/4800L
#define BAUD_2400 256L - (OSC_FREQ/192L)/2400L
#ifdef UART_GLOBALS
INT8U code BaudRateTable[BAUD_CNT] = { BAUD_2400, BAUD_4800, BAUD_9600,
BAUD_14400, BAUD_19200, BAUD_28800,
0, BAUD_57600, 0 }; //0为不支持的波特率
#else
extern INT8U code BaudRateTable[BAUD_CNT];
#endif
sbit RS485_TXen = P1^2;
UART_EXT INT8U MyAddr;
UART_EXT INT8U BaudNum;
#define MAXSERSIZE 32
UART_EXT INT8U SerBfr[MAXSERSIZE];
UART_EXT INT8U RcvDTLen; //接收有效数据长度
UART_EXT bit RcvStatus; //接收状态标志
#define RCVSTX 0
#define RCVDATA 1
UART_EXT bit SerDTValid; //串行数据有效标志
UART_EXT bit FindFlag; //搜索标志
UART_EXT bit SendFlag; //串行发送标志,表示有数据要从串口发送
UART_EXT INT8U LentoSend; //将要发送的有效数据长度
UART_EXT INT8U SendStatus; //发送状态,表示下次发送中断将要进行的动作
#define SENDSTX 0
#define SENDDATA 1
#define SENDETX 2
#define SENDSTOP 3
#define SENDIDLE 4
UART_EXT INT8U SerTmOut; //串行超时计数器
#define STX 0x82
#define ETX 0x83
#define RADDR 0
#define SADDR 1
#define CMDTYPE 2
#define COMMAND 3
#define STATUS 3
#define LENGTH 4
#define DATA 5
UART_EXT void UART_Init();
UART_EXT INT8U Ser_Send(INT8U SlvAddr);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -