📄 hexpp.h
字号:
#ifndef hexpp_h
#define hexpp_h
#define ENQ 0x05
#define ACK 0x06
#define NAK 0x15
#define EOT 0x04
#define ETX 0x03
#define DB 0x01
#define DW 0x02
#define DF 0x03
union Fdata
{
float FloatD;
unsigned char FByteD[4];
};
union Wdata
{
int WordD;
unsigned char WByteD[2];
};
class hexcom :public TComponent
{
public:
unsigned char BYTEdata[12]; //字节缓冲
float FLOATdata[12]; //浮点数缓冲
unsigned int WORDdata[12]; //字缓冲
unsigned char thecomnum;
__fastcall hexcom(); //构造函数
void opencom(int ,int); //开启串口:串口号、波特率
void closecom(); //关闭串口
void getevent(eventcircle *); //取得事件
unsigned char rcrc,ReceivedSP,ReadType,ReadNum,Myaddr,WorR,eventok,outtimenum;
unsigned int TempAddr; //数据地址
unsigned char last,Step,ACKflag;
HANDLE hComm;
unsigned char RXdata[2048],TXdata[50]; //输入输出缓冲
eventcircle *headSP,*lastSP,eventtemp;
TTimer *time2;
void (*eopsp)(eventcircle *,int);
unsigned char getbyte(unsigned char); //协议处理程序接受一个字节:字节数据
int sendaddr(unsigned char ); //合成地址请求:节点地址
int startdata(); //发送数据请求
void __fastcall proctime2(TObject*); //超时处理
int sendrdata(); //合成读数据请求
float getfloatD(unsigned char); //从接收缓冲中取得一个浮点数:数据地址
unsigned int getintD(unsigned char ); //从接收缓冲中取得一个字:数据地址
int sendwdata(); //合成写数据请求
void startchange(); //开始一次数据交换
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -