📄 commconst.h
字号:
#ifndef COMMCONST_H
#define COMMCONST_H
#define FrameFlag 0x12
#define RCC_VERSION 0
#define SendBufferMaxLength 16*1024 //发送缓冲区最大值,为16K,今后改为变量
#define ReceiveBufferMaxLength 16*1024
#define DataBufferMaxLength 16*1024
#define MaxBytesPerBlock 2048
typedef struct
{
BYTE Flag; //标志
BYTE Version:4; //版本号
BYTE Kind:4; //帧类别
BYTE CheckSum; //帧头检查和
BYTE FrameNo; //帧号
WORD Length; //数据长度
WORD Reserved; //保留
}RCCFrameHead; //CRC帧头格式
typedef RCCFrameHead RCCMsgFrame; //RCC消息帧格式
#define HeaderSize sizeof(RCCFrameHead)
typedef struct
{
RCCFrameHead Header; //帧头
WORD Crc; //数据区CRC校验
char Data[MaxBytesPerBlock]; //数据区
}RCCDataFrame; //RCC数据帧格式
typedef RCCDataFrame FrameAnalysisBuffer;
#define MODE_RS232 0
#define MODE_MODEM 1
/*
RCC_CONNECT通知消息告知应用程序底层链路已经建立好,可以发送和接收数据;RCC_READ告知应用程序RCC底层接收到数据;
RCC_WRITE告知应用程序RCC底层数据发送完毕,应用程序可以继续发送剩余数据;
RCC_CLOSE 告知应用程序RCC底层链路已经正常或异常断开;
RCC_ERROR 告知应用程序在通讯时发生通讯错误
*/
#define WM_RCCNOTIFY WM_USER+2005
#define RCC_CONNECT 1
#define RCC_READ 2
#define RCC_WRITE 3
#define RCC_CLOSE 4
#define RCC_ERROR 5
#define RCC_RAWWRITE 6 //原始数据发送
#define RCC_RAWREAD 7 //原始数据读取
#define RCC_BIN_STATE 8 //二进制状态
#define RCC_STR_STATE 9 //字符型状态//由MODEM返回的
#define RCC_STAT_INIT 1 //初始化状态
#define RCC_STAT_COMM 2 //通讯状态
#define RCC_STAT_DATA 3 //发送数据状态
#define RCC_STAT_POLLING 4 //检测状态
#define RCC_STAT_ABORT 5 //中断状态
#define RCC_ERROR_SUCCESS 0 //处理成功
#define RCC_ERROR_INIT 1 //初始化错误
#define RCC_ERROR_SYNC 2 //同步错误
#define RCC_ERROR_ALREADY_OPEN 3 //串行口已经打开
#define RCC_ERROR_COMMNO 4 //串行口号不正确
#define RCC_ERROR_OPEN 5 //串行口打开失败
#define RCC_ERROR_INVALID_COMM 6 //指定的设备不是COMM设备
#define RCC_ERROR_SET_BUFFER 7 //不能设备COMM设备的接收缓冲区
#define RCC_ERROR_CREATE_CLOSE_EVENT 8 //不能创建关闭事件
#define RCC_ERROR_CREATE_THREAD 9 //创建线程错误
#define RCC_ERROR_NOCONNECT 11 //未连接
#define RCC_ERROR_INVAL 12 //参数错误
#define RCC_ERROR_OVERFLOW 13 //接收缓冲区溢出
#define RCC_ERROR_VERSION 14 //对方版本不对
#define RCC_ERROR_FRAMETYPE 15 //错误的帧头型
#define RCC_ERROR_FRAME 16 //帧内部错误
#define RCC_ERROR_UNKOWN 255 //WIN95/NT未知系统错误
#define frmData 0 //数据帧
#define frmZippedData 1 //压缩数据帧
#define frmDataAnswer 2 //数据应答帧
#define frmPolling 3 //检测帧
#define frmPlAnswer 4 //检测应答帧
#define frmAbort 5 //异常中止帧
#define frmSysError 6 //系统错误帧
#define frmMin 0 //最小帧序号
#define frmMax 6 //最大帧序号
//MODEM返回状态
#define MDM_NONE 0x00000000L
#define MDM_OK 0x00000001L
#define MDM_DCD 0x00000002L
#define MDM_CMDERR 0x00000004L
#define MDM_NOTONE 0x00000008L
#define MDM_BUSY 0x00000010L
#define MDM_NOANSW 0x00000020L
#define MDM_RING 0x00000040L
#define MDM_CONN 0x00000080L
#define MDM_PROT 0x00000100L
#define MDM_COMP 0x00000200L
#define MDM_CARRIER 0x00000400L
#define MDM_UNKOWN 0x80000000L
#define MDMAnswerNum 11
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -