结构体学习:协议的编码

mndsoft 4月前 431

aardio对工控硬件调试非常不错,短小精悍,独立运行。经常和硬件进行协议通讯打交道,交互数据主要是一些上行和下行协议报文的组帧 和 解析,以前用其他语言都是做个函数调用解码和编码。

这几天在学习aardio的结构体,是不是也叫类,比如像这种协议帧编码如下:

55 01 02 03 04 AA 03 06 80 00 00 00 00 11 A3 16

能否做个编码函数,使用结构体处理,比如可变帧如何放进去,校验码能否在结构体中自动计算,并自动输出上述这一串字符?

问了aardio AI编程助手,回答的也是稀里糊涂,可能提问词有问题哈。

学习了本站的axuanup  朋友的 几个帖子:aardio数据结构之队列结构aardio数据结构之栈结构

请高手指教下哈,谢谢。

结构体能否如下定义:

var opcommon=class{
       byte Header1[1];    //帧头1  \x55    固定
       byte ID[4];         //逻辑地址 \x01 \x02 \x03 \x04     可变
       byte Header2[1];    //帧头2  \x55  固定
       byte ctrlCode[1];   //控制码 \x03  可变
       byte lUD[1];        //数据长度 \x06 可变
       byte ctrlFlag[1];   //命令标识符 \80
       byte udData[4];     //数据区  \x00 \x00 \x00 \x00 \x11   不定长
       byte checkCode[1];  //校验码  \xA3   从Header1开始字节累加校验和
       byte endFrame[1];   //结束符  \x16 固定
       
       prop=function(a){
        return ..string.hex(this[a],"")
       }
}


最新回复 (0)
返回