LED 显示屏异步掌握卡通讯协议
.协议概述
协议协议承受链路层传输层节目应层三层协议模式
链路层协议传输层协议进展封装包包括添加起始符添加完毕符计算添加
CRC 校验〔校验算法见附录〕数段进展关键字符转义
传输层协议发送掌握命令者节目数拆分组包协议掌握命令条 掌握命令形成传输层数包节目数次节目数发送应传输层 数包〔起始包数包数包……数包完毕包起始包数包完毕包〕
节目应层协议播放节目数包括节目属性头部页面码文字数字时钟 图等元素协议定义
二.链路层协议
1 链路层协议定义
编号
名称
长度〔字节〕
描述
1
起始符〔0x55〕
1
链路层数包起始符
2
数段
N
链路层数包数段
3
完毕符〔0xAA〕
1
链路层数包完毕符
2 数段协议描述
数段数应层形成数转换形成转换程:
1) 应层数+CRC 校验〔2 字节〕
2) 数〔包括CRC 校验值〕进展转义换掉数中关键字符
0x55 换 0xBB 0x56
0xAA 换 0xBB 0xAB
0xBB 换 0xBB 0xBC
三.掌握命令协议〔传输层〕
1 协议构造说明
Ø PC 掌握卡
名称
数长度
取值
说明
Command
2
6:校正掌握卡时间
9:读取电源状态
10:设置电源状态
11:读取亮度
12:设置亮度
命令代码
srcAddr
1
0
源址
dstAddr
1
目标址〔掌握卡址〕
SerialNo
4
电源亮度值
Data
N
附加数命令代码定
义
C 语言代码宏定义数构造定义
#define PKC_SET_TIME #define PKC_GET_POWER #define PKC_SET_POWER #define PKC_GET_BRIGHT #define PKC_SET_BRIGHT typedef struct PKG_HEADER{
6
9
10
11
12
WORD Command BYTE srcAddr BYTE dstAddr
DWORD SerialNo DWORD 型数包号系统传输 4G 数
}TPKG_Header *PPKG_Header
Ø 掌握卡 PC
名称
数长度
取值
说明
Command
2
3:应答标识
应答代码固定值
srcAddr
1
源址〔掌握卡址〕
dstAddr
1
0
目标址
SerialNo
4
包序列号者电源亮度值
SrcCommand
2
命令代码〔 PC 发协议中取〕
Result
2
命令执行结果
C 语言代码宏定义数构造定义
#define PKC_RESPOND 3
typedef struct PKG_RESPOND{ TPKG_Header Header WORD Command
WORD Result
}TPKG_Respond *PPKG_Respond
2 校正掌握卡时间
Ø PC 掌握卡
工程成员Command SerialNo Data
取值
6
0
校正时间值
说明
承受时间值构造
typedef struct SYSTEMTIME{ WORD year
WORD month WORD week WORD day WORD hour WORD minute WORD second WORD msecond
}TSystemTime *PSystemTime
工程成员
Command SerialNo
取值
6
0
说明
Ø 掌握卡 PC
SrcCommand
Result
6
1
3 读取电源状态
Ø PC 掌握卡
工程成员
取值
说明
Command
9
SerialNo
0
Data
没附加数
Ø 掌握卡 PC
工程成员
取值
说明
Command
3
SerialNo
0 电源关闭
返回电源状态
1 电源开启
SrcCommand
9
Result
1
4 设置电源状态
Ø PC 掌握卡
工程成员
取值
说明
Command
10
SerialNo
0 电源关闭
设置电源状态
1 电源开启
Data
没附加数
Ø 掌握卡 PC
工程成员
取值
说明
Command
3
SerialNo
0 电源关闭
返回电源状态
1 电源开启
SrcCommand
10
Result
1
5 读取亮度
Ø PC 掌握卡
工程成员
取值
说明
Command
11
SerialNo
0
Data
没附加数
Ø 掌握卡 PC
工程成员
取值
说明
Command
3
SerialNo
0 7
返回亮度值
SrcCommand
11
Result
1
6 设置亮度
Ø PC 掌握卡
工程成员
取值
说明
Command
12
SerialNo
0 7
设置亮度值
Data
没附加数
Ø 掌握卡 PC
工程成员
取值
说明
Command
3
SerialNo
0 7
返回亮度值
SrcCommand
12
Result
1
四.节目数拆分组包协议〔传输层〕
1 拆分组包
发送节目数时节目数包512 字节长度进展拆分组包发送
例节目数长度 1200 字节时会拆成 3 包分 512 字节512 字节176 字节实际发送程
PC
掌握卡
起始包
起始包应答
第 1 数包
数包 1 应答
第 2 数包
数包 2 应答
第 3 数包
数包 3 应答
完毕包
完毕包应答
<完成发送程>
2 协议构造说明
组包协议命令协议构造样命令代码
PC 掌握卡
名称
数长度
取值
说明
Command
2
0:起始包
1:完毕包
2:数包
命令代码
srcAddr
1
0
源址
dstAddr
1
目标址〔掌握卡址〕
SerialNo
4
0 开头编号起始包0
包序列号
第 1 数包1
第 2 数包2
…
第n 数包〔n 终〕完毕包n+1
Data
N
节目数
起始包完毕包时该段填
C 语言代码宏定义数构造定义
#define PKC_BEGIN #define PKC_END
#define PKC_DATA
0
1
2
掌握卡 PC
名称
数长度
取值
说明
Command
2
3:应答标识
应答代码固定值
srcAddr
1
源址〔掌握卡址〕
dstAddr
1
0
目标址
SerialNo
4
包序列号〔 PC 发协议中取〕
SrcCommand
2
命令代码〔 PC 发协议中取〕
Result
2
1:包正确〔发送
包〕
命令执行结果
0:数错误〔需重
发送该包〕
C 语言代码宏定义数构造定义
#define PKC_RESPOND 3
typedef struct PKG_RESPOND{ TPKG_Header Header WORD Command
WORD Result
}TPKG_Respond *PPKG_Respond
五.节目数协议说明〔节目应层〕
1 协议概述
播放节目数包括节目数头部页面码文字数字时钟图等元素协议定义
节目属性头部:Root 页面:Leaf
显示象〔文字日期时间图等〕:Object
节目数组织
Root
Leaf
Object Object
Object
Leaf
Object Object
Object
2 节目数头部
名称
id Count Size
数长度
2
2
4
说明
节目代码页面数量
17:发送节目
18:载节目
数长度TRoot 长度+全部子页面长度
Time Elapse
Size
4
4
4
页面显示时间
置 0
数长度TLeaf 长度+全部子象长度
Type
Reserved
2
2
节目类型
保存
1:单路数
2:RG 双路数
节目数头部
typedef struct ROOT{ WORD id
WORD count
DWORD size
WORD
WORD
type
Reserved
节目代码
标识页面数目
标识整数流字节数(包含数字节数该元素身字节数)
节目类型
}TRoot *PRoot
3 页面
名称
数长度
说明
id
2
页面代码 0x30
Count
2
象数量
WORD
id
页面标识
WORD
count
数象数目
页面
typedef struct LEAF{
DWORD time DWORD elapse DWORD size
}TLeaf *PLeaf
页面显示时间
该字段单片机填写运行时已时间计算机端
象字节数
4 码文字象
名称
Object id
数长度 说明
2 象代码 0x33
头部
Transparent
2
否透亮 置 1
Size
4
数长度TObject 长度+全部子数长度
Left
2
显示区域左坐标
Top
2
显示区域坐标
Right
2
显示区域右坐标
Bottom
2
显示区域坐标
Method
2
显示方式
Speed
2
显示速度 置 1
Param
8
置 0
Color
4
红色:0xFF绿色:0xFF00黄色:0xFFFF
FontSet
4
字体 0:16 点阵宋体 1:24 点阵宋体
Str
N
文字字符串必需 0 结尾长度 4 倍数
例:显示ABCDE处 Str 字节数 8分:A’B’C’D’E’\0’\0’ \0’
typedef struct OBJECT{
WORD id 象标识WORD transparent 否透亮DWORD size 象字节数TRect rect 象显示区域
}TObject *PObject
typedef struct PLAYPARAM{ short xy
DWORD time
}TPlayParam
typedef struct STRING{
TObject WORD WORD
TPlayParam DWORD
DWORD
object
象般定义
method speed
param
color fontset
显示方式
显示速度
预留参数空间单片机
字符颜色
字符集(般状况 016 点阵 124 点阵)
}TString *PString
5 图象
名称
数长度
说明
TObject
id
2
象代码 0x31
头部
Transparent
2
否透亮 置 1
Size
4
数长度TObject 长度+全部子数长度
Left
2
显示区域左坐标
Top
2
显示区域坐标
Right
2
显示区域右坐标
Bottom
2
显示区域坐标
Method
2
显示方式
Speed
2
显示速度 置 1
Param
8
置 0
TPixels
Id
2
0x36
点阵头
Width
2
图宽度
部
Height
2
图高度
Bits
2
单色屏置 1双色屏置 4
Size
4
数长度TPixels 长度+点阵数长度
Data
N
点阵数定义面说明
WORD
id
象标识
WORD
width
点阵宽度
WORD
height
点阵高度
WORD
bits
象素位数
DWORD
size
象
typedef struct WINDOW{
TObject WORD WORD
TPlayParam
object
象般定义
method speed
param
显示方式
显示速度
预留参数空间单片机
}TWindow *PWindow
typedef struct PIXELS{
}TPixels *PPixels
Data 定义说明:
RG 双路数显示屏素点占 2 Bit图数承受列方式 点阵数列列存储列数占字节数必需4 倍数缺乏 0 补齐
例 16 宽*12 高图片 16 列数列数 12 点字节
4 素 12 点 3 字节加补 4 字节齐字节列占 4 字节整图占 4*1664 字节
数DWORD 类型存储面列数例子
〔xy〕R 表示位图中坐标xy 素点红色素点红色黄色时 Bit 置 1否置 0
〔xy〕G 表示位图中坐标xy 素点绿色素点绿色黄色时 Bit 置 1否置 0
图左角起始点〔00〕
31
30
29
28
27
26
25
24
(00)R
(00)G
(01)R
(01)G
(02)R
(02)G
(03)R
(03)G
23
22
21
20
19
18
17
16
(04)R
(04)G
(05)R
(05)G
(06)R
(06)G
(07)R
(07)G
15
14
13
12
11
10
9
8
(08)R
(08)G
(09)R
(09)G
(010)R
(010)G
(011)R
(011)G
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
0
6 日期时间象
名称
数长度
说明
Object
id
2
页面代码
0x32
头部
Transparent
2
否透亮
置 1
Size
4
数长度TObject 长度+全部子数长度
Left
2
显示区域左坐标
Top
2
显示区域坐标
Right
2
显示区域右坐标
Bottom
2
显示区域坐标
Offset
4
置 0
Format0
1
格式
Index0
1
点阵编号
Format1
1
格式
Index1
1
点阵编号
Format2
1
格式
Index2
1
点阵编号
Format3
1
格式
Index3
1
点阵编号
Format4
1
格式
Index4
1
点阵编号
Format5
1
格式
Index5
1
点阵编号
Format6
1
格式
Index6
1
点阵编号
Format7
1
格式
Index7
1
点阵编号
Format8
1
格式
Index8
1
点阵编号
Format9
1
格式
Index9
1
点阵编号
Format10
1
格式
Index10
1
点阵编号
Format11
1
格式
Index11
1
点阵编号
Format12
1
格式
Index12
1
点阵编号
Format13
1
格式
Index13
1
点阵编号
Format14
1
格式
Index14
1
点阵编号
Format15
1
格式
Index15
1
点阵编号
TPixelSet
Id
2
点阵组标识代码
0x37
点阵组头
Count
2
点阵组中点阵数量
部
Size
4
数长度TPixelSet 长度+全部子数长度
点阵 0
TPixels
Id
2
0x36
点阵头
Width
2
图宽度
部
Height
2
图高度
Bits
2
单色屏置 1双色屏置 4
Size
4
数长度TPixels 长度+点阵数长度
Data
N
点阵数定义面说明
点阵 1
TPixels
Id
2
0x36
点阵头
Width
2
图宽度
部
Height
2
图高度
Bits
2
单色屏置 1双色屏置 4
Size
4
数长度TPixels 长度+点阵数长度
Data
N
点阵数定义面说明
点阵 2
TPixels
Id
2
0x36
点阵头
Width
2
图宽度
部
Height
2
图高度
Bits
2
单色屏置 1双色屏置 4
Size
4
数长度TPixels 长度+点阵数长度
…
Data
…
N
…
点阵数定义面说明
…
WORD
id
象标识
WORD
width
点阵宽度
WORD
height
点阵高度
WORD
bits
象素位数
DWORD
size
象
typedef struct OBJECT{
WORD id 象标识WORD transparent 否透亮DWORD size 象字节数TRect rect 象显示区域
}TObject *PObject
typedef struct PIXELS{
}TPixels *PPixels
typedef struct _PIXELSET
{
WORD id 象标识
WORD count 点阵数量
DWORD size 象
}TPixelSet *PPixelSet
Format Index 成Format 表示显示容类型Index 表示应面点阵组中索引号
Format 取值 1 8分应 1 年 2 月 3 日 4 星期 5 时 6 分 7 秒 8 固定字
Format1〔23567〕时假设 Index0表示显示年〔月日时分秒〕十位Index1表示显示年〔月日时分秒〕位时点阵组中第0 9 点阵应数字’0’’9’点阵
Format8 时Index 表示点阵组中索引号
Format4 表示显示星期时Index 必需设 0x7F点阵0 点阵 6 分应’日’ ’’ ’二’ ’三’ ’四’ ’五’ ’六’文字
举例:
年月日显示例显示2023 年 05 月 31 日:
点阵组0 1 2 3 4 5 6 7 8 9 年 月 日
Format08Index02表示 20XX 年 2 字Format18Index10表示 20XX 年 0 字Format21Index20表示 2023 年 1 字〔十位〕 Format31Index31表示 2023 年 2 字〔位〕
Format48Index410表示汉字年’字年’点阵组中位第 10 Format52Index50表示 05 月 0 字〔十位〕 Format62Index61表示 05 月 5 字〔位〕 Format78Index711表示汉字月’字月’点阵组中位第 11 Format83Index80表示 31 日 3 字〔十位〕 Format93Index91表示 31 日 1 字〔位〕 Format108Index1012表示汉字日’字日’点阵组中位第12
时分秒显示例显示093528:
点阵组0 1 2 3 4 5 6 7 8 9
Format05Index00表示 09 0 字〔十位〕 Format15Index11表示 09 9 字〔位〕 Format28Index210表示’点阵组中位第 10 Format36Index30表示 35 3 字〔十位〕 Format46Index41表示 35 5 字〔位〕 Format58Index510表示’点阵组中位第 10 Format67Index60表示 28 2 字〔十位〕 Format77Index71表示 28 8 字〔位〕
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档