VisionShow版本LED显示屏异步控制卡通讯协议Word格式文档下载.docx
《VisionShow版本LED显示屏异步控制卡通讯协议Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《VisionShow版本LED显示屏异步控制卡通讯协议Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
![VisionShow版本LED显示屏异步控制卡通讯协议Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/5/d94d1cbd-f244-486a-a6db-5d1afa2b4338/d94d1cbd-f244-486a-a6db-5d1afa2b43381.gif)
命令代码
srcAddr
:
源地址
dstAddr
目标地址<
控制卡地址)
SerialNo
4
r电源,亮度值
Data
附加数据,根据命令代码不同,定义不同
//C语言代码宏定义和数据结构定义
#definePKC_SET_TIME6
#definePKC_GET_POWER9
#definePKC_SET_POWER10
#definePKC_GET_BRIGHT11
#definePKC_SET_BRIGHT12
typedefstructPKG_HEADER{
WORDCommand。
BYTEsrcAddr。
BYTEdstAddr。
DWORDSerialNo。
//DWORD型数据包号使系统可传输4G数据}TPKG_Header,*PPKG_Header。
DXDiTa9E3d
控制卡到PC
\2
3:
应答标识
「应答代码,固定值
源地址<
控制卡地址)
目标地址
包序列号,或者电源和亮度值
SrcCommand
命令代码<
从PC发来地协议中取得)
Result
「命令执行结果
〃c语言代码宏定义和数据结构定义
#definePKC_RESPOND3typedefstructPKG_RESPOND{
TPKG_HeaderHeader。
WORDResult。
}TPKG_Respond,*PPKG_Respond
RTCrpUDGiT
2.校正控制卡时间
pc到控制卡
工程成员
「取值
\0
要校正地时间值
采用如下时间值结构
typedefstructSYSTEMTIME{
WORDyear。
WORDmonth。
WORDweek。
WORDday。
WORDhour。
WORDminute。
WORDsecond。
WORDmsecond。
}TSystemTime,*PSystemTime。
A
6
3.读取电源状态
9
无
没有附加数据
=0电源关闭
=1电源开启
返回地电源状态
4.设置电源状态
10
要设置地电源状态
5.读取亮度
11
工程成员取值说明
0到7
返回地亮度值
6.设置亮度
12
要设置地亮度值
4.节目数据拆分组包协议<
传输层)
1.拆分组包
发送节目数据时,节目数据要按照每包512字节地长度进行拆分组包发送•
例如节目数据长度为1200字节时,则会拆成3包,分别为512字节,512字节,176字节.那
么,实际发送过程为5PCZVD7HXA
jLBHrnAlLg
2.协议结构说明
组包协议与命令协议结构一样,只是命令代码不同
0:
起始包
1:
结束包
2:
数据包
从0开始编号起始包=0第1个数据包=1第2个数据包=2
第n个数据包=n<
最后一个)
结束包=n+1
包序列号
节目数据
起始包和结束包时,该段不填
#definePKC_BEGIN0
#definePKC_END1
#definePKC_DATA2xHAQX74J0X
包序列号<
包正确<
可以发送下一个包)
数据错误<
需要重新发送该包)
命令执行结果
LDAYtRyKfE
5.节目数据协议说明<
节目应用层)
1.协议概述
播放节目地数据,包括节目数据头部,页面,内码文字,数字时钟,图像等元素地协议定义
节目属性头部:
Root
页面:
Leaf
显示对象<文字、日期时间、图像等):
Object
节目数据组织
Zzz6ZB2Ltk
2.节目数据头部
id
节目代码17:
发送节目18:
下载节目
Count
页面数量
Size
P数据长度,TRoot长度+所有子页面长度
Type
节目类型1:
单路数据2:
RG双路数据
Reserved
保留
//节目数据头部
typedefstructROOT{
WORDid。
//节目弋码
WORDcount。
//标识页面数目
DWORDsize。
//标识整个数据流字节数(包含数据字节数和该元素本身字节数之和>
WORDtype。
//节目类型
WORDReserved。
}TRoot,*PRoot。
dvzfvkwMIl
3.页面
;
页面代码0x30
对象数量
Time
页面显示时间
Elapse
置0
数据长度,TLeaf长度+所有子对象长度
//页面
typedefstructLEAF{
//页面标识
//数据对象数目
DWORDtime。
//页面显示时间
DWORDelapse。
//该字段用于单片机填写运行时已过时间,对计算机此端无用
//对象字节数
}TLeaf,*PLeaf。
rqyn14ZNXI
4.内码文字对象
Object
头部
对象代码=0x33
Transparent
是否透明置1
\4
数据长度"
Object长度+所有子数据长度
Left
显示区域左坐标
Top-
显示区域上坐标
Right
显示区域右坐标
Bottom
显示区域下坐标
Method
显示方式
Speed
显示速度置1
Param
8
Color
红色:
0xFF;
绿色:
0xFF00;
黄色:
0xFFFF
FontSet
字体-0:
16点阵宋体;
-1:
24点阵宋体
Str
文字字符串,必须以0为结尾,长度为4地倍数例如:
要显示“ABCDE”,那么此处Str地字节数为8,分别为:
‘A'
,‘B'
‘C'
,‘D'
‘E'
‘\0'
'
\0'
'
\0'
typedefstructOBJECT{
//对象标识
WORDtransparento〃是否透明
//对象字节数
TRectrect。
//对象显示区域
}TObject,*PObject。
typedefstructPLAYPARAM{
shortx,y。
}TPlayParam。
typedefstructSTRING{
TObjectobjecto〃对象的一般定义
WORDmethod。
//显示方式
WORDspeedo〃显示速度
TPlayParamparamo//预留参数空间给单片机
DWORDcolor。
//字符颜色
DWORDfontset。
//字符集(一般情况0=16点阵仁24点阵>}TString,*PString。
EmxvxOtOco
5.图像对象
TObject
对象代码-0x31
数据长度,TObject长度+所有子数据长度
TPixels点阵头部
Id
0x36
Width
图像宽度
Height
图像高度
Bits
对单色屏,置1;
对双色屏,置4
数据长度,TPixels长度+点阵数据长度
点阵数据,如何定义下面有说明
typedefstructWINDOW{
TObjectobject。
〃对象的一般定义
WORDspeedo〃显示速度
TPlayParamparamo//预留参数空间给单片机}TWindow,*PWindow。
typedefstructPIXELS{
WORD
id。
//对象标识
width。
〃点阵宽度
heighto
〃点阵高度
bits。
〃每象素位数
DWORD
size。
//对象大小
}TPixels,*PPixels。
SixE2yXPq5
Data地定义说明:
对于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地像素点地红色;
当像素点为红色、黄色时,此
Bit置1,否则置0.y6v3ALoS89
x,y)-G表示此位是图像中坐标为x,y地像素点地绿色;
当像素点为绿色、黄色时,此
Bit置1,否则置O.M2ub6vSTnP
以图像左上角为起始点<
0,0)
31
30
29
28
27
26
25
24
(0,0>
-R
-G
(0,1>
(0,2>
(0,3>
23
22
21
20
19
18
17
16
(0,4>
(0,5>
(0,6>
(0,7>
15
14
13
(0,8>
(0,9>
(0,10>
(0,11>
7
5
6.日期时间对象
Objectid
页面代码=0x32
头部Transparent
Offset
Format。
格式
Index0
点阵编号
Format1
Index1
Format2
Index2
Format3
Index3
Format4
Index4
Format5
Index5
Format6
Index6
Format7
Index7
Format8
Index8
Format9
Index9
FormatIO
Index10
Formatll
Index11
Format12
Index12
Format13
Index13
Format14
Index14
Format15
Index15
TPixelSet点阵组头部
点阵组标识代码=0x37
点阵组中地点阵数量
数据长度,TPixelSet长度+所有子数据长度
点阵0
Pixels长度+点阵数据长度
点阵1
Width「
Bits—
点阵2
//每象素位数
WORDido
WORDwidth
WORDheight
WORDbitso
}TPixels,*PPixels
typedefstruct_PIXELSET
{
〃对象标识
〃点阵数量
//对象大小
}TPixelSet,*PPixelSet。
OYujCfmUCw
Format和Index是成对地‘Format表示要显示地内容类型,lndex表示对应后面点阵组中
地索引号.eUts8ZQVRd
Format地取值为1到8,分别对应1年2月3日4星期5时6分7秒8固定字.
当Format=1<2,3,5,6,7)时,如果Index=0,表示显示地是年<月日时分秒)地十位;
Index=1,表示显示地是年<月日时分秒)地个位.此时,点阵组中,第0到9个点阵应该是数字'
到'
9'
地点阵.sQsAEJkW5T
当Format=8时,Index表示点阵组中地索引号.
当Format=4是,表示要显示星期,此时Index必须设为0x7F,并且点阵0到点阵6分别对
应'
日'
一'
、'
二'
三'
四'
五'
六'
地文字.GMsIasNXkA
举例:
年月日地显示,例如显示“2018年05月31日”:
【点阵组】为'
0'
'
1'
2'
3'
4'
5'
6'
7'
8'
年'
月'
TIrRGchYzg
Format0=8,Index0=2,表示20XX年地2字
Format1=8,Index1=0,表示20XX年地0字
Format2=1,Index2=0,表示2018年地1字<十位)
Format3=1,Index3=1,表示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字<个位)