1、命令代码srcAddr:源地址dstAddr目标地址 控制卡地址)SerialNo4r电源,亮度值Data附加数据,根据命令代码不同,定义 不同/C语言代码宏定义和数据结构定义#define PKC_SET_TIME 6#define PKC_GET_POWER 9#define PKC_SET_POWER 10#define PKC_GET_BRIGHT 11#define PKC_SET_BRIGHT 12typedef struct PKG_HEADERWORD Command。BYTE srcAddr。BYTE dstAddr。DWORD SerialNo。/DWORD型数据包号使系统
2、可传输 4G数据 TPKG_Header, *PPKG_Header。DXDiTa9E3d控制卡到PC23:应答标识应答代码,固定值源地址 控制卡地址)目标地址包序列号,或者电源和亮度值SrcComma nd命令代码 从PC发来地协议中取 得)Result命令执行结果c语言代码宏定义和数据结构定义#define PKC_RESPOND 3 typedef struct PKG_RESPONDTPKG_Header Header。WORD Result。TPKG_Respond, *PPKG_RespondRTCrpUDGiT2.校正控制卡时间pc到控制卡工程成员取值0要校正地时间值采用如下时间
3、值结构typedef struct SYSTEMTIMEWORD year。WORD mon th 。WORD week。WORD day。WORD hour。WORD minute 。WORD seco nd。WORD msecond。TSystemTime, *PSystemTime 。A63.读取电源状态9无没有附加数据=0电源关闭=1电源开启返回地电源状态4.设置电源状态10要设置地电源状态5.读取亮度11工程成员 取值 说明0到7返回地亮度值6.设置亮度12要设置地亮度值4.节目数据拆分组包协议 传输层)1.拆分组包发送节目数据时,节目数据要按照每包 512字节地长度进行拆分组包发送
4、 例如节目数据长度为 1200字节时,则会拆成3包,分别为512字节,512字节,176字节.那么,实际发送过程为5PCZVD7HXAjLBHrnAlLg2.协议结构说明组包协议与命令协议结构一样,只是命令代码不同0:起始包1:结束包2:数据包从0开始编号 起始包=0 第1个数据包=1 第2个数据包=2第n个数据包=n最后一 个)结束包=n+1包序列号节目数据起始包和结束包时,该段不填#define PKC_BEGIN 0#define PKC_END 1#define PKC_DA TA 2 xHAQX74J0X包序列号 包正确 可以发送下 一个包)数据错误 需要重新 发送该包)命令执行结果
5、LDAYtRyKfE5.节目数据协议说明 WORD type。/节目类型WORD Reserved。TRoot, *PRoot。dvzfvkwMIl3.页面;页面代码0x30对象数量Time页面显示时间Elap se置0数据长度,TLeaf长度+所有子对象长度/页面typedef struct LEAF/页面标识/数据对象数目DWORD time。/页面显示时间DWORD elapse。/该字段用于单片机填写运行时已过时间,对计算机此端无用/对象字节数TLeaf, *PLeaf。rqyn14ZNXI4.内码文字对象Object头部对象代码 =0x33Tran spare nt是否透明置14数据
6、长度Object长度+所有子数据长度Left显示区域左坐标Top-显示区域上坐标Right显示区域右坐标Bottom显示区域下坐标Method显示方式Speed显示速度置1Param8Color红色:0xFF;绿色:0xFF00;黄色:0xFFFFFo ntSet字体-0: 16点阵宋体;-1: 24点阵宋体Str文字字符串,必须以0为结尾,长度为4地倍数 例如:要显示“ ABCDE ”,那么此处Str地字节数为 8,分别为: A , B , C, D , E , 0,0 , 0typedef struct OBJECT /对象标识WORD transparent o 是否透明 /对象字节数T
7、Rect rect。 /对象显示区域TObject, *PObject。typedef struct PLAYPARAMshort x,y。TPlayParam。typedef struct STRINGTObject object o 对象的一般定义WORD method。 /显示方式WORD speed o 显示速度TPlayParam paramo /预留参数空间给单片机DWORD color。 /字符颜色DWORD fontset。/字符集(一般情况0=16点阵仁24点阵 TString, *PString。EmxvxOtOco5.图像对象TObject对象代码-0x31数据长度,TO
8、bject长度+所有子数据长度TPixels 点阵头 部Id0x36Width图像宽度Height图像高度Bits对单色屏,置1 ;对双色屏,置4数据长度,TPixels长度+点阵数据长度点阵数据,如何定义下面有说明typedef struct WINDOWTObject object。 对象的一般定义WORD speedo 显示速度TPlayParam paramo /预留参数空间给单片机 TWindow, *PWindow 。typedef struct PIXELSWORDid。/对象标识width。点阵宽度height o点阵高度bits。每象素位数DWORDsize。/对象大小TPi
9、xels, *PPixels 。SixE2yXPq5Data地定义说明:对于RG双路数据地显示屏,每个像素点占用 2个Bit.图像数据采用列为主地方式 ,点阵 数据是一列一列存储 地,每列地 数据占用地字节数必须 为4地倍数,不足地 用0补齐.6ewMyirQFL例如,一个16宽*12高地图片,共有16列数据 海列数据有12个点;因为每个字节有 4个像素,所以12点要3个字节,加上补4字节对齐地一个字节,每列占用4字节;整个图像占用 4*16=64 字节.kavU42VRUs数据使用DWORD类型来存储,下面是一列数据地例子x,y) -R表示此位是图像中坐标为 x,y地像素点地红色;当像素点为
10、红色、黄色时 ,此Bit 置 1,否则置 0.y6v3ALoS89x,y)-G表示此位是图像中坐标为 x,y地像素点地绿色;当像素点为绿色、黄色时 ,此Bit 置 1,否则置 O.M2ub6vSTnP以图像左上角为起始点 -R-G(0,1(0,2(0,32322212019181716(0,4(0,5(0,6(0,7151413(0,8(0,9(0,10(0,11756.日期时间对象Object id页面代码=0x32头部 Tran spare ntOffsetFormat。格式In dex0点阵编号Format1In dex1Format2In dex2Format3In dex3Forma
11、t4In dex4Format5In dex5Format6In dex6Format7In dex7Format8In dex8Format9In dex9FormatIOIn dex10FormatllIn dex11Format12In dex12Format13In dex13Format14In dex14Format15In dex15TPixelSet 点阵组头 部点阵组标识代码=0x37点阵组中地点阵数量数据长度,TPixelSet长度+所有子数据长度点阵0Pixels长度+点阵数据长度点阵1WidthBits 点阵2/每象素位数WORD id oWORD widthWORD
12、heightWORD bits oTPixels, *PPixelstypedef struct _PIXELSET 对象标识 点阵数量 /对象大小TPixelSet, *PPixelSet。OYujCfmUCwFormat和Index是成对地Format表示要显示地内容类型 ,lndex表示对应后面点阵组中地索引号.eUts8ZQVRdFormat地取值为1到8,分别对应1年2月3日4星期5时6分7秒8固定字.当Format=12,3,5,6,7 )时,如果Index=0,表示显示地是年 月日时分秒)地十位;Index=1,表示显示地是年 月日时分秒)地个位.此时,点阵组中,第 0到9个点阵
13、应该是数 字到9地点阵.sQsAEJkW5T当Format=8时,Index表示点阵组中地索引号 .当Format=4是,表示要显示星期,此时Index必须设为0x7F,并且点阵0到点阵6分别对应日一、二三四五六地文字.GMsIasNXkA举例:年月日地显示,例如显示“ 2018年05月31日”:【点阵组】为0,12345678年月TIrRGchYzgFormat0=8,Index0=2, 表示 20XX 年地 2 字Format1=8,Index1=0, 表示 20XX 年地 0 字Format2=1,Index2=0, 表示 2018年地 1 字十位)Format3=1,Index3=1,
14、 表示 2018年地 2 字个位)10 个11个12 个Format4=8,Index4=10, 表示汉字年字 ,年在点阵组中位于第Format5=2,Index5=0, 表示 05 月地 0 字 十位)Format6=2,Index6=1, 表示 05月地 5 字个位)Format7=8,Index7=11, 表示汉字月字 ,月Format8=3,Index8=0, 表示 31 日地 3 字 十位)Format9=3,Index9=1, 表示 31 日地 1 字 个位)Format10=8,Index10=12, 表示汉字日字 ,日时分秒地显示 ,例如显示“ 09:35:28 ”:【点阵组】为 Format0=5,Index0=0, 表示 09 地 0字 十位)Format1=5,Index1=1, 表示 09 地 9字 个位)Format2=8,Index2=10, 表示 : ,在点阵组中位于第 10 个Format3=6,Index3=0, 表示 35 地 3字 十位)Format4=6,Index4=1, 表示 35 地 5字 个位)Format5=8,Index5=10, 表示 :Format6=7,Index6=0, 表示 28 地 2字 十位)Format7=7,Index7=1, 表示 28 地 8字 个位)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1