] 本帖最后由 LONG_R3acc 于 2020-6-21 19:39 编辑 [/i] [md]摄像头调试助手通讯协议 ====================== 修订历史
日期 | 版本 | 更新内容 |
---|
2020/6/8 | 0.0.1 | 首次发布 |
JPEG数据
上位机勾选JPEG数据时只需要发送JPEG的文件数据即可,不需要加任何头和尾。 协议传输
上位机勾选协议传输时需要按以下协议进行传输。 指令格式详解 指令包格式
字节数 | 4bytes | 1bytes | 4bytes | 1bytes | … … | n bytes | … … | 2 bytes |
---|
名称 | 包头 | 设备地址 | 包长度 | 指令 | 参数1 | … | 参数2 | 校验 | 内容 | 0x59485A53 | xxxx | xxxx | xxxx | xxxx | … | xxxx | xxxx |
说明:
-
所有多字节低字节在前; -
包头固定为四字节的0x59485A53; -
地址默认从0开始,第一个设备为0x00,第二个设备为0x01; -
包长度为从包头到校验的所有数据长度; -
指令为相应的功能码; -
参数为指令需要参数时加入; -
校验为CRC-16方式(如果在上位机端不勾选CRC-16也需要发送两个字节的数据,可以为任意值,上位机也会发送 CRC-16校验数,校验与否由下位机自行选择);
应答包格式
字节数 | 4bytes | 1bytes | 4bytes | 1bytes | … … | n bytes | … … | 2 bytes |
---|
名称 | 包头 | 设备地址 | 包长度 | 确认码 | 返回参数1 | … | 返回参数2 | 校验 | 内容 | 0x59485A53 | xxxx | xxxx | xxxx | xxxx | … | xxxx | xxxx |
通常指令0x00为应答包,但并不是所有应该都为0x00,请参考指令详解。 返回参数根据实际情况,可有可无 CRC-16 CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。 上位机使用的CRC-16算法参数如下: 多项式:X^16+X^15+X^2+1
多项式 POLY(Hex):8005
初始值 INIT(Hex):FFFF
结果异或值 XOROUT(Hex):0000
指令详解 设置图像格式
- 功能说明:设置上位机图像格式,图像大小。返回确认码表示:设置成功、校验错误、其他错误。
- 输入参数:图像格式,图像宽高。
- 返回参数:确认字
指令包格式:
字节数 | 4bytes | 1bytes | 4bytes | 1bytes | 1bytes | 2bytes | 2bytes | 2 bytes |
---|
名称 | 包头 | 设备地址 | 包长度 | 指令 | 图像格式 | 宽 | 高 | 校验 | 内容 | 0x59485A53 | xxxx | xxxx | 0x01 | xxxx | xxxx | xxxx | xxxx |
图像格式: 0x01: JPEG格式图片
0x02: BMP格式图片
0x03: PNG格式图片
0x04: 原始RGB565像素数据
0x05: 原始RGB888像素数据
0x06: 原始的二值化图像像素数据
0x07: 自定义接收格式(保留)
宽: 指定图像的宽
0~0Xffff
高: 指定图像的宽
0~0Xffff
应答包格式:
字节数 | 4bytes | 1bytes | 4bytes | 1bytes | 1bytes | 2 bytes |
---|
名称 | 包头 | 设备地址 | 包长度 | 指令 | 确认码 | 校验 | 内容 | 0x59485A53 | xxxx | xxxx | 0x00 | xxxx | xxxx |
确认码: 0x00:指令执行完毕或 OK
0x01:数据包接收错误
0x02:没有这个寄存器
0x03~0xFF:保留
发送图像显示包
- 功能说明:发送图像数据包给上位机。返回确认码表示:数据接收正确并显示、校验错误、其他错误。
- 输入参数:图像数据。
- 返回参数:确认字
指令包格式:
字节数 | 4bytes | 1bytes | 4bytes | 1bytes | N bytes | 2 bytes |
---|
名称 | 包头 | 设备地址 | 包长度 | 指令 | 图像数据 | 校验 | 内容 | 0x59485A53 | xxxx | xxxx | 0x02 | xxxx | xxxx |
图像数据: 需要显示图像的数据
1. 使用RGB数据时上位机端可以选择大端小端模式:
大端:低字节在前,高字节在后
小端:高字节在前,低字节在后
2. 使用图片文件时,文件头在前
应答包格式:
字节数 | 4bytes | 1bytes | 4bytes | 1bytes | 1bytes | 2 bytes |
---|
名称 | 包头 | 设备地址 | 包长度 | 指令 | 确认码 | 校验 | 内容 | 0x59485A53 | xxxx | xxxx | 0x00 | xxxx | xxxx |
确认码: 0x00:指令执行完毕或 OK
0x01:数据包接收错误
0x02:没有这个寄存器
0x03~0xFF:保留
上位机发送写数据包(在使用前需配置好寄存器地址和寄存器值的长度)
- 功能说明:上位机发送写寄存器数据包给下位机。返回确认码表示:数据接收正确并显示、校验错误、其他错误。
- 输入参数:寄存器长度、地址和值。
- 返回参数:确认字
指令包格式:
字节数 | 4bytes | 1bytes | 4bytes | 1bytes | N1 bytes | N2 bytes | 2 bytes |
---|
名称 | 包头 | 设备地址 | 包长度 | 指令 | 寄存器地址 | 寄存器值 | 校验 | 内容 | 0x59485A53 | xxxx | xxxx | 0x10 | xxxx | xxxx | xxxx |
N1 bytes: 在上位机配置
寄存器地址(上位机端请填写16进制数): 要写的寄存器的地址值
N2 bytes: 在上位机配置
寄存器值(上位机端请填写16进制数): 要写的寄存器的内容
应答包格式:
字节数 | 4bytes | 1bytes | 4bytes | 1bytes | 1bytes | n bytes |
---|
名称 | 包头 | 设备地址 | 包长度 | 指令 | 确认码 | 校验 | 内容 | 0x59485A53 | xxxx | xxxx | 0x00 | xxxx | xxxx |
确认码: 0x00:指令执行完毕或 OK
0x01:数据包接收错误
0x02:没有这个寄存器
0x03~0xFF:保留
上位机发送读数据指令(在使用前需配置好寄存器地址和寄存器值的长度)
- 功能说明:上位机发送读寄存器指令给下位机,下位机返回相应的内容。返回读数据。
- 输入参数:寄存器长度、地址和值。
- 返回参数:确认字
指令包格式:
字节数 | 4bytes | 1bytes | 4bytes | 1bytes | 2 bytes | N1 bytes | 2 bytes |
---|
名称 | 包头 | 设备地址 | 包长度 | 指令 | 序号 | 寄存器地址 | 校验 | 内容 | 0x59485A53 | xxxx | xxxx | 0x11 | xxxx | xxxx | xxxx |
地址长度址: 要读的寄存器的地址长度
寄存器地址: 要读的寄存器的地址值
应答包格式:
字节数 | 4bytes | 1bytes | 4bytes | 1bytes | 1bytes | 2 bytes | N2 bytes | n bytes |
---|
名称 | 包头 | 设备地址 | 包长度 | 指令 | 确认码 | 序号 | 寄存器内容 | 校验 | 内容 | 0x59485A53 | xxxx | xxxx | 0x11 | 0x00 | xxxx | xxxx | xxxx |
注意:这里的应答指令应为0x11 寄存器地址: 下位机发来的寄存器地址(上位机需要根据寄存器地址来判断上传的是那个寄存器的值)
寄存器值: 要写的寄存器的内容
确认码: 0x00:指令执行完毕或 OK
0x01:数据包接收错误
0x02:没有这个寄存器
0x03~0xFF:保留
野火大学堂——(敲黑板)这是重点,要考的
【野火大学堂】简介 ![Image text]([url=https://cloud.firebbs/forum/202005/13/113447psxxq2sjr99rnsj7.png]https://cloud.firebbs/forum/2 ... sxxq2sjr99rnsj7.png[/url]) 野火大学堂是一个电脑客户端,主要用来方便用户下载野火所有产品的资料,是一款集资料下载,在线文档,在线视频和资料更新推送于一体的软件, 免费登录,下载速度快过百度云。以后野火的资料发布和更新主要是通过野火大学堂来完成。 以后嵌入式学习,不妨来【野火大学堂】看看,stm32,rt1052,linux,fpga,freertos,rt-thread,ucos,liteos,emwin,emxgui,lwip等资料应有尽有,一站式学习,省时又省力。 【野火大学堂】下载地址(复制至浏览器打开)
- 下载地址1:[url=http://t/A6w7JiKs]http://t/A6w7JiKs[/url] (境外,sourceforge)
- 下载地址2:[url=https://cloud.embedfire/software/FireClass/package/FireClass-Installer-x64-v1.0.2.4.exe]https://cloud.embedfire/soft ... er-x64-v1.0.2.4.exe[/url]
- 下载地址3:[url=https://pan.baidu/s/1N6ODCAO4i2x8rXXOLMJm4Q]https://pan.baidu/s/1N6ODCAO4i2x8rXXOLMJm4Q[/url] 提取码:hn4w(百度云下载)
【野火大学堂】登录方式
- 微信:手机微信扫码登录(推荐);
- 野火论坛:论坛帐号登录,没有帐号的可以先到野火论坛[url=http://www.firebbs]www.firebbs[/url]先注册个帐号(推荐);
- QQ:要想使用QQ扫码登录,必须先绑定论坛帐号,如果没有论坛帐号的可以先到野火论坛[url=http://www.firebbs]www.firebbs[/url]先注册个帐号,并将论坛帐号与QQ绑定;
- Github:Gitbub帐号登录。
|
发表评论