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

【C#】构造协议帧通过串口下发

构造一个“协议帧”,打包串口/网络通信帧头部结构的核心部分


🔧 代码:

List<byte> frame = new List<byte>();

// 1. 固定帧头
frame.AddRange(BitConverter.GetBytes(0x0130));        // 帧头 (4B)
frame.AddRange(BitConverter.GetBytes((ushort)22));        // 帧长度 (2B)
frame.AddRange(BitConverter.GetBytes((ushort)type));      // 帧类型 (2B)
frame.AddRange(BitConverter.GetBytes((ushort)0x0000));    // 序号 (2B)

🧠 一行一讲:


🔹 List<byte> frame = new List<byte>();

🔹 创建一个动态的字节集合,用来组装整个“数据帧”。
你会不断往 frameAddRange() 塞字节,构造完整通信包。


🔹 frame.AddRange(BitConverter.GetBytes(0x0130));

🔹 加入帧头字段:固定值 0x0130

含义字节长度用途
帧头0x01302 字节用于帧识别、同步,开头校准

输出的字节是 小端格式(在内存中实际是):[0x30, 0x01 ]


🔹 frame.AddRange(BitConverter.GetBytes((ushort)22));

🔹 加入帧大小字段(2 字节)
这里填的是:22 字节,表示整个帧的总长度(你可以改成动态计算)

例子:220x0016 → 小端字节:[0x16, 0x00]


🔹 frame.AddRange(BitConverter.GetBytes((ushort)type));

🔹 加入帧类型字段(2 字节)
你会传入不同的 type,比如:

类型名
参数设置0x2001
参数读取0x2002
启动激励0x3001

比如 type = 0x2002 → 字节是 [0x02, 0x20](小端)


🔹 frame.AddRange(BitConverter.GetBytes((ushort)0x0000));

🔹 加入序号字段(2 字节)

  • 通常用于帧编号、请求/响应匹配
  • 你现在写死为 0x0000,后续如果你要支持多帧队列、自动序号,也可以这里动态传参

✅ 最终结果:

这段代码打包完的 frame 内容是:

字段内容字节数示例值 (小端)
帧头0x0130230 01
帧长度0x0016216 00
帧类型type(传参)202 40(如0x4002)
序号0x0000200 00

共:8 字节


👇 后续 还可以追加:

  • CRC 校验(2 字节)
  • 数据段(2字节参数编号 +2字节写入值)
  • 帧尾CRC(2 字节)


相关文章:

  • 为什么需要开源成分分析?库博同源分析工具介绍
  • CSS3学习教程,从入门到精通, 学院网站完整项目 - HTML5 + CSS3 实现(25)
  • 为什么制造企业需要用MES管理系统升级改造车间
  • html5时钟升级!支持切换深浅模式 Canvas实现现代化动态时钟
  • UniApp快速表单组件
  • Ansible内置模块之service
  • MOE-1 基本认识
  • 力扣HOT100之矩阵:54. 螺旋矩阵
  • 区块链技术之分布式数字身份:构建数字世界的信任基石
  • 青少年编程与数学 02-013 初中数学知识点 01课题、小学数学回顾
  • Ubuntu / Debian 创建快捷方式启动提权
  • 开发体育赛事直播系统:炫彩弹幕直播间界面技术实现方案
  • PE文件导入表解析
  • Spring-事务属性
  • 一条命令配置移动端(Android / iOS)自动化环境
  • 9、Linux C 消息队列和信号灯
  • leetcode 2360. 图中的最长环 困难
  • 什么是动态代理?动态代理和静态代理的区别
  • 轮询、WebSocket 和 SSE:实时通信技术全面指南(含C#实现)
  • 从零开始打造HTML5拼图游戏:一个Canvas实战项目
  • 网站建设的三个步骤是什么/深圳企业网站制作
  • wordpress主题安装全解析/seo搜索排名优化
  • 想在网站里添加超链接怎么做/软文营销实施背景
  • 织梦高端html5网站建设工作室网络公司网站模板/企业微信营销系统
  • 北京网站建设制作/站长工具站长
  • 苹果软件做ppt模板下载网站有哪些内容/电子商务培训