📄 rs232.h
字号:
/************************************************************************************
Date: 2007 09 21
*************************************************************************************/
#include "EEPROM.h"
#ifndef Rs232_H
#define Rs232_H
#define HUB_OVERTIMER 14
#define UART_RCV_NUM 512 /* 串口发送缓冲长度 */
typedef struct
{
UWORK32 ulUARTRcvLackQueNum; /* 接收时无空闲队列的次数 */
UWORK32 ulUARTSendLackQueNum; /* 发送时无空闲队列的次数 */
UWORK32 ulUARTReceiveDataNum; /* 接收数据个数 */
UWORK32 ulUARTSendDataNum; /* 发送数据个数 */
}ST_UART_STATISTICS;
/* 波特率宏定义 */
/*old
#define BAUND_RATE_1200 0XF7DD // 833us
#define BAUND_RATE_2400 0XFBEE // 416us
#define BAUND_RATE_4800 0XFDF7 // 208us
#define BAUND_RATE_9600 0XFEFC // 104us
#define BAUND_RATE_19200 0XFF7E // 52us
#define BAUND_RATE_38400 0XFFBF // 26us
#define BAUND_RATE_57600 0XFFD5 // 17.4us
#define BAUND_RATE_115200 0XFFEA // 8.68us
*/
#define BAUND_RATE_1200 0XFB80 /* 416us */
#define BAUND_RATE_2400 0XFDc0 /* 208us */
#define BAUND_RATE_4800 0XFEe0 /* 104us */
#define BAUND_RATE_9600 0XFF70 /* 52us */
#define BAUND_RATE_19200 0XFFB8 /* 26us */
#define BAUND_RATE_38400 0XFFD0 /* 17.4us */
#define BAUND_RATE_57600 0XFFE8 /* 8.68us */
#define BAUND_RATE_115200 0XFFf4 /* 8.68us */
/*************************************************************************************/
enum
{ /* 串口接收状态 */
RCV_SOI, /* 接收起始码 */
RCV_DATA /* 接收数据 */
};
#define SOI 0x7e /* 起始码 */
#define EOI 0x0d /* 结束码 */
extern bit Rcv_flag; //串口接收到正确的标志位
extern bit Rcv_ok; //串口接收过完成的标志位
extern bit Key_flag; //按键标志位
extern WORK16 RcvDelayCount; //按键延时记数器
extern WORK16 KeyDelayCount; //按键延时记数器
extern UWORK16 RcvCount; // 接收记数器
extern UWORK16 RcvLen; // 接收长度
extern xdata UWORK8 Rcv_buf[UART_RCV_NUM];
extern xdata ST_UART_STATISTICS gstUARTStatistics; /* 串口通信错误统计 */
extern xdata WORK16 SystemTimer_buf[12]; /* 系统相对定时器 */
/*********************************************************************/
/* 网口参数 */
extern xdata UWORK8 gucaNetPara[NET_PARA_LEN];
extern xdata UWORK8 gucOpenCount; /* 3秒计数 */
extern xdata UWORK8 gucSecond; /* 系统运行时间,秒 */
extern xdata UWORK8 gucMinute; /* 系统运行时间,分钟 */
extern xdata UWORK8 gucHour; /* 系统运行时间,小时 */
extern xdata UWORK16 gusDate; /* 系统运行时间,天数 */
extern xdata UWORK16 gusStopRun;
extern bit StopTimer( UWORK8 ucTimer );
extern void SystemTimerProc(void);
extern void FlashInit(void);
extern void InitSerial(void);
extern void SerialSendbuf(UWORK8 *pucData,UWORK16 ucSendLen);
extern UWORK8 FlashReadData(UWORK16 usAtaddr,UWORK8 *pucMemAddr,UWORK16 usReadLen);
extern UWORK8 StartTimer( UWORK8 ucTimer, UWORK16 usTimerValue );
extern void FlashCheck(void); //开机时检测参数设置
#endif
/*************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -