当前位置: 首页 > news >正文

C#写的一键自动测灯带的应用 AI帮写的。

在这里插入图片描述
通讯协议V1.00
版本 日期 修订说明
V1.00 2025-8-23 初稿

目录
一、 前言 2
1、 通讯方式: 2
2、 协议介绍: 2
3、 设备类型列表: 2
二、 通用协议 2
1、获取设备版本 2
2、升级包 2
3、设备重启 3
4、设置灯带颜色 3
5、保存灯带设置 3
三、 升级流程 3
1、方式一: 3
2、方式二: 4

一、前言
1、通讯方式:
采用HID通讯方式;

2、协议介绍:
方向 协议头(2byte) 设备类型 (2byte) 命令字(2byte) 数据长度
(2byte) 数据内容(nbyte) 校验值(2byte)
PC->设备 0x5A 0xA5 - - - - -
设备->PC 0x5A 0xA5 - - - - -
校验方式:CRC16(CCITT标准-0x1021),参与计算的内容从设备类型开始到数据内容结束。
数据长度:数据内容的长度
所有协议均为高字节在前

3、设备类型列表:
注:本项目固定用0x0002

二、通用协议
1、获取设备版本
方向 协议头(2byte) 设备类型 (2byte) 命令字(2byte) 数据长度
(2byte) 数据内容(nbyte) 校验值(2byte)
PC->设备 0x5A 0xA5 - 0x00 0x00 0x00 0x00 无 CRC16
设备->PC 0x5A 0xA5 - 0x00 0x00 - 内容 CRC16
内容说明 如:Boot:”boot V1.00” 或 App:”app V1.00”

2、升级包
方向 协议头(2byte) 设备类型 (2byte) 命令字(2byte) 数据长度
(2byte) 数据内容(nbyte) 校验值(2byte)
PC->设备 0x5A 0xA5 - 0x00 0x03 n 内容 CRC16
设备->PC 0x5A 0xA5 - 0x00 0x03 0x00 0x02 内容 CRC16
内容说明 发送内容:2byte总包数+2byte当前包+1byte类型(此项目固定1)+程序包(需能被4整除,不足末尾补0xFF)
返回内容:成功返回当前包号 失败返回:0xFFFF
此命令只在boot生效,此命令可适当的将超时时间放长,设备擦除跟写入需要时间

3、设备重启
方向 协议头(2byte) 设备类型 (2byte) 命令字(2byte) 数据长度
(2byte) 数据内容(nbyte) 校验值(2byte)
PC->设备 0x5A 0xA5 - 0x00 0x05 0x00 0x00 无 CRC16
设备->PC 0x5A 0xA5 - 0x00 0x05 0x00 0x02 0xAA[成功] 0x55[失败] CRC16

4、设置灯带颜色
方向 协议头(2byte) 设备类型 (2byte) 命令字(2byte) 数据长度
(2byte) 数据内容(nbyte) 校验值(2byte)
PC->设备 0x5A 0xA5 0x02 0x00 0xA1 - 内容 CRC16
设备->PC 0x5A 0xA5 0x02 0x00 0xA1 - 内容 CRC16
内容说明 发送内容:
Data[0]:预留固定0x01
Data[1]:灯带R值,0-255
Data[2]:灯带G值,0-255
Data[3]:灯带B值,0-255
Data[4]:模式,0=常亮 1=呼吸
Data[5]:周期,单位100ms,如呼吸灯灭-亮-灭为一个周期
返回内容:成功返回当0xAA 失败返回:0x55

5、保存灯带设置
方向 协议头(2byte) 设备类型 (2byte) 命令字(2byte) 数据长度
(2byte) 数据内容(nbyte) 校验值(2byte)
PC->设备 0x5A 0xA5 - 0x00 0xA2 0x00 0x00 无 CRC16
设备->PC 0x5A 0xA5 - 0x00 0xA2 0x00 0x02 0xAA[成功] 0x55[失败] CRC16

三、升级流程
1、方式一:
(1)、设备上电,进入boot
(2)、在boot检测升级n秒
(3)、若无升级,超时跳转到app
(4)、若存在升级,则接收更新,更新完成后进入app

2、方式二:
(1)、设备处于app,发送重启指令
(2)、设备复位重启,后续流程同方式一

http://www.dtcms.com/a/355791.html

相关文章:

  • 梯度下降,梯度消失,梯度爆炸
  • hintcon2025 Verilog OJ
  • 若依cloud集训总结
  • 对于冯诺依曼体系的理解
  • Linux:信号详解--醍醐灌顶
  • 基于Spring Cloud Gateway构建API网关
  • 第三章:Cesium 矢量数据可视化(点、线、面)
  • Shell脚本(1)
  • 机器学习可解释库Shapash的快速使用教程(五)
  • 全能工程软件 Siemens NX:从设计到制造的全流程解决方案,附安装指南
  • 滑台模组如何实现电子制造精密加工?
  • HVV面经总结(二)
  • 自动量化交易
  • 将Ollama应用安装至其他盘
  • 通信算法之323:verilog中带参数实体模版
  • Spotfire多表关联数据关联选择
  • 在AStar模块中加入额外的搜索条件
  • 在jdk8的spring-boot-2.7.x项目中集成logback-1.3.x
  • 【涂鸦T5】3. 录音
  • 实验项目:Kubernetes Ingress 实战演练
  • Cesium入门教程(三)环境搭建(Vue版)
  • 蓝凌研究院《2025上市公司AI数智化转型白皮书》发布
  • 【力扣】2725. 间隔取消
  • linux 环境 批量发送get请求
  • 大模型常用术语
  • 机器视觉学习-day10-图像添加水印
  • 帕萨特盘式制动器cad+设计说明书
  • TensorFlow 面试题及详细答案 120道(41-50)-- 数据输入与管道
  • workflow/http_parser源码解密:HTTP解析器的双倍扩容与零拷贝策略
  • 【C#】征服 .NET Framework 4.8 中的“古董”日期格式:/Date(1754548600000)/ 和 ISO 8601