- 博客(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(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关注的人
RSS订阅