自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 MQTT协议报文实操

CONNECT 报文的载荷中包含由可变报头(Variable Header)中的标志确定的一个或多个以长度为前缀的字段。这些字段若存在,必须按照客户标识符(Client Identifier)、遗嘱属性(Will Properties) 、遗嘱主题(Will Topic) 、遗嘱载荷(Will Payload)、用户名(User Name) 、密码(Password)的顺序出现。客户标识符必须存在,且作为 CONNECT 报文载荷的第一个字段出现。如果使用用户名和密码,找到连接标志位。

2025-10-30 14:54:51 542

原创 MQTT协议报文详解

固定报头(2字节)+可变报头+载荷位置: 第 1 个字节, 二进制位 7-4。表示为 4 位无符号值,这些值的定义见下表。固定报头第 1 个字节的剩余的 4 位 [3-0]包含每个 MQTT 控制报文类型特定的标志如下表所示。表格中任 何标记为“保留” 的标志位, 都是保留给以后使用的,必须设置为表格中列出的值 [MQTT-2.1.3- 1]。如果收到 非法的标志, 此报文被当做无效报文。表格 2-2 - 标志位DUP = PUBLISH 报文的重复分发标志。

2025-10-30 10:06:47 1051

原创 Modbus协议记录

2.读离散输入 0x02(只是反馈状态,不能更改状态)这两个都是读传感器的数据或状态,不能改变它的实际值,所以不能更改。2.读输入寄存器 0x04(仅支持只读)3.写单个保持寄存器 0x06。4.写多个保持寄存器 0x10。1.读保持寄存器 0x03。1.读线圈状态 0x01。3.写单个线圈 0x05。4.写多个线圈 0x0F。读离散输入 0x02。

2025-10-28 17:58:22 168

原创 学习RTthread(3)线程管理实验

挂起态(RT_THREAD_SUSPEND):如果线程当前正在等待某个时序或外部中断,我们就说这个线程处于 挂起状态,该线程不在就绪列表中。重大失误,查找半天资料,有人说是因为LED线程使用了RT的延时函数,然是函数本来就可以挂起LED线程,所以挂起失败。系统初始化完成后,创建的线程就可以在系统中竞争一定的资源,由内核进行调度。就绪态(RT_THREAD_READY):该线程在就绪列表中,就绪的线程已经具备执行的能力,只等待CPU。本文住学习主要来源于以下文档,只是学习分享,如有侵权,联系速删!

2025-09-28 16:01:00 364

原创 学习RTthread(2)创建线程

RTthread创建线程

2025-09-26 11:39:58 1263

原创 学习RTthread(1)移植nano到F103ZET6

3.准备一个简单的例程(例如LED闪烁)可以去正点原子官网找资料。2)进入keil的官网下载Pack包进行安装。找到这个点击install就会自己安装,我这里已经安装完成了。到这里,board.c就改好了,下一步,打开中断管理函数。3.进行代码的移植,用RT接管源代码的一些中断处理。1)MDK软件端可以直接下载。打开board.c文件,注释掉以下代码。然后用RT的延时函数替代原来的延时函数。然后编译,烧录,你已经成功的移植RT。接下来去到主函数,添加头文件。注释第一行,并添加以下代码。

2025-09-25 17:03:52 405

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除