📄 uart.h
字号:
#ifdef UART_GLOBALS
#define UART_EXT
#else
#define UART_EXT extern
#endif
#define BAUD_CNT 9
#define BAUD_57600 57600
#define BAUD_28800 28800
#define BAUD_19200 19200
#define BAUD_14400 14400
#define BAUD_9600 9600
#define BAUD_4800 4800
#define BAUD_2400 2400
#ifdef UART_GLOBALS
uint32 const BaudRateTable[BAUD_CNT] = { BAUD_2400, BAUD_4800, BAUD_9600,
BAUD_14400, BAUD_19200, BAUD_28800,
0, BAUD_57600, 0 }; //0为不支持的波特率
#else
UART_EXT uint8 const BaudRateTable[BAUD_CNT];
#endif
// RS485发送使能端口,用户根据实际电路修改
//#define RS485_TXen 1<<8
UART_EXT uint8 MyAddr;
UART_EXT uint8 BaudNum;
/* 网络层通讯协议 */
#define MAXSERSIZE 32
UART_EXT uint8 SerBfr[MAXSERSIZE];
UART_EXT uint8 RcvDTLen; //接收有效数据长度
UART_EXT volatile uint8 RcvStatus; //接收状态标志
#define RCVSTX 0
#define RCVDATA 1
UART_EXT volatile uint8 SerDTValid; //串行数据有效标志
UART_EXT uint8 FindFlag; //搜索标志
UART_EXT volatile uint8 SendFlag; //串行发送标志,表示有数据要从串口发送
UART_EXT volatile uint8 LentoSend; //将要发送的有效数据长度
UART_EXT volatile uint8 SendStatus; //发送状态,表示下次发送中断将要进行的动作
#define SENDSTX 0
#define SENDDATA 1
#define SENDETX 2
#define SENDSTOP 3
#define SENDIDLE 4
UART_EXT volatile uint8 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 UART0_Init(void);
UART_EXT uint8 Ser_Send(uint8 SlvAddr);
UART_EXT void UART0_SendByte (uint8 dat);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -