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

📄 uart.h

📁 ZLG500C的上位机软件
💻 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 + -