- 博客(197)
- 收藏
- 关注
原创 嵌入式单片机开发学习路线,从入门到高薪就业,保姆级学习攻略!
本文详细介绍了嵌入式开发的学习路线和就业方向。主要分为单片机开发、Linux应用开发和Linux驱动开发三大方向,重点讲解了51单片机和STM32的学习路径,包括C语言基础、开发环境配置、硬件基础等内容。进阶部分涵盖RTOS系统、物联网通信、GUI技术等核心技能,并推荐了多个实战项目资源。文章还提供了野火、正点原子等开发板选择建议,以及韦东山等优质教学资源。所有配套学习资料(嵌入式八股文、项目代码等)可通过微信公众号【嵌入式学习菌】获取。该路线适合零基础到进阶的嵌入式学习者系统化学习。
2024-08-30 11:09:25
5633
4
原创 调试软件指令与架构
本软件是运行于 Windows 的桌面工具,通过 RS485 串口与现场仪表通信,完成参数读写、实时量监视、电能管理、版本识别、计量校准等调试任务。其核心设计目标是:将分散在界面各处的通信逻辑收敛为一张命令表 + 统一的收发通道,使新增指令只需改表、更换通信介质只需替换传输实现。
2026-11-04 11:29:56
原创 MQTTS协议ESP32实现
MQTT 明文协议定位就是调试协议,只允许在内网隔离环境使用。只要设备暴露到公网,统一用加密版本MQTTS。本项目为简化未校验服务端证书:链路加密但不防中间人,仅适合内网/受控网络;正式公网部署务必配置 CA 证书校验(单向或双向认证)。很多安全问题不是协议漏洞,而是调试配置直接带到了生产:明文端口对外开放、证书校验被跳过,导致数据泄露、设备被控。ESP32 实现 MQTTS 的难点不在调 API,而在把"任务优先级、堆内存、证书校验、断线重连"这些参数配对——和 HTTPS 是同一套思路。
2026-11-01 09:35:52
7
原创 HTTP/HTTPS、MQTT/MQTTS 区别
日常做接口开发、物联网设备接入,经常用到 HTTP、HTTPS、MQTT、MQTTS。不少开发人员图省事,直接把明文端口暴露公网,存在明显安全隐患。本文从协议本质、端口、通信模型、适用场景做整理,作为项目选型参考。核心一句话:HTTPS 不改变 HTTP 请求响应逻辑,MQTTS 也不改动 MQTT 协议本身,只是在传输层增加 TLS 加密隧道。
2026-10-31 10:01:23
342
原创 利尔达 LR2021(868 版本)LoRa 模组测试信道选型
最近在调试利尔达 LR2021 LoRa 模组,手上这批是 868 固件版本,搭配官方配套 PC 调试上位机工具。很多人会疑惑:工具下拉列表一堆信道,室内测试选哪个?户外如果临时测试怎么选?以及 SF、带宽、功率怎么搭配。本文把调试踩坑、信道选择、推荐参数一次性整理出来。硬件环境:利尔达 LR2021(EU868 固件),配套 LoRa 调试上位机,串口 9600 8N1。不要盲目选高信道(893M+),900M 蜂窝干扰会直接废掉你的测试数据;868 版本模组不能户外空中发射。
2026-10-15 19:43:51
236
原创 Modbus 03H 最多读多少寄存器?10H 最多写多少寄存器?
协议最大 125 个寄存器;协议最大 123 个寄存器;实际项目以从站设备手册为准。
2026-10-15 19:37:30
329
原创 ESP32 UDP 局域网广播搜索仪表
最近在做 ESP32 网络仪表的 UDP 广播搜表功能,需求:上位机发送 UDP 广播包(端口 60002),局域网内所有 ESP32 仪表收到广播后,返回自身 IP、MAC、子网掩码、DHCP 等网络参数。现象:网络调试助手发送广播指令后,收到了一条看起来很像应答的数据包,但源 IP 是本机电脑 IP,不是 ESP32 设备 IP。第一反应以为设备回复成功,仔细抓包才发现这是 Windows UDP 广播回环,ESP32 压根没有回复任何报文。
2026-10-15 19:20:13
326
原创 Modbus 透传和 Modbus 转发区别
做工业采集、电表 / 传感器 RS485 无线改造的时候,经常会碰到 LoRa、WiFi、串口模块的两个模式:透传 和 Modbus 转发。很多人容易混淆,以为两者都只是把数据从 A 传到 B,底层逻辑其实完全不一样。本文用大白话 + 真实 Modbus RTU 报文讲清楚两者区别。适用场景:RS485 Modbus 设备(电表、传感器)通过 LoRa/WiFi/ 以太网对接上位机。
2026-10-15 19:13:48
363
原创 ESP32C3 乐鑫下载工具V3.9.8 量产烧录最全教程
很多开发者使用ESP32C3做产品量产时,都会遇到一系列共性问题:烧录地址不知道怎么填、分区表定义了nvs/phy_init却找不到对应bin文件、疑惑烧录行是否需要按顺序排列、混淆调试烧录和量产烧录的区别。本文基于ESP-IDF原生工程、自定义分区表、乐鑫Flash Download Tool V3.9.8,结合量产实际工况,一次性讲透所有核心问题,规避90%以上的烧录踩坑点,适配个人调试、工厂量产全场景。核心真相:分区表是「Flash地图」,不是「烧录清单」,画了分区不代表必须烧录对应文件。
2026-10-08 21:00:00
27
原创 FreeRTOS 中断管理实战:BASEPRI 寄存器实验
_asmdsbisb本质汇编指令修改 BASEPRI 寄存器,不是 PRIMASK!不会关掉最高优先级中断。__asm写 0 清除 BASEPRI 屏蔽。
2026-10-04 19:38:47
481
原创 ESP32 ModbusTCP 分片缓存
就是分片缓存数组,代表最大缓存条目数量,最多同时缓存 N 条不同 Modbus 请求。// 缓存条目结构体uint8_t EN;// 缓存总使能标志 1:有效 0:失效// Modbus从站地址// 功能码,03/04// 寄存器起始地址// 读取寄存器长度// 缓存的Modbus应答报文数据// 缓存数据有效长度// 【核心标志位】本窗口是否被访问 1=访问过 0=未访问// 全局缓存数组EN:缓存是否可用。EN=0 时,这条缓存槽位是空的,可以存入新请求;
2026-10-04 19:08:50
216
原创 LoRa 自组网设备原理深度分析
角色临时化:AP 仅用来发起组网,不永久固化,组网完成后全部变成对等 STA,没有固定主节点,不存在单点故障;重启全部变回 STA,系统鲁棒性更高。双层网络隔离:信道 + net_id信道:物理频点隔离;net_id:软件逻辑网络隔离;同一物理信道可以部署多套互不干扰的自组网系统。两种入网方式:自动学习(简单单网)、485 手动写入 net_id(工业多网现场)适配不同工况。帧长硬性限制 238 字节:硬件 LoRa 缓存限制,设备内部不做分片重组,业务层必须分包处理长报文。
2026-09-27 16:06:59
315
原创 Workbuddy自动写一个RS485 / LoRa 参数调试工具
在做 RS485 / LoRa 无线模块开发时,经常需要读写模块的内部参数:固件版本、SN 序列号、网络标识、LoRa 的信道/扩频因子/带宽/纠错码率/发射功率,以及串口波特率、停止位、校验位等。手边没有趁手的调试软件,每次都要拿串口助手拼 HEX 帧、自己算 CRC,既容易算错,又效率极低。于是用Workbuddy写了一个图形化调试工具串口参数配置与一键连接固件信息、SN、网络标识、LoRa 参数、串口参数的读取与写入原始 HEX 报文发送(自动算 CRC)实时通信日志,可保存为 txt。
2026-09-19 21:00:32
69
原创 什么是电能表 “起动电流”、“最小电流” 与 “转折电流”
起动电流 Ist功率因数 cosφ=1 条件下,电能表能够开始连续累计电能的最小电流。当回路电流大于等于起动电流,电表应当正常记录电量;低于起动电流,电表不应该产生计量脉冲、不计电能。该参数直接决定电表对待机、微小轻载功耗的计量能力。最小保证准确度电流 Imin(简称最小电流)从该电流起,电表正式进入准确度保证区间。Ist ≤ I < Imin:电表可以起动计数,但不保证准确度等级指标;I ≥ Imin:电表必须满足对应准确度等级的误差限值。转折电流 Itr。
2026-09-15 22:14:54
148
原创 Modbus RTU RS485 读寄存器耗时理论计算
RS485+Modbus RTU 读取 N 个寄存器到底要多久?尤其是 ESP32+BL0942/BL0937 这类计量芯片,或者多节点 RS485 总线,需要评估轮询周期、总线负载,判断会不会丢包、超时。很多人只看波特率,忽略 Modbus RTU 协议强制要求的3.5 字符静默间隔,导致理论估算值和实测对不上。单次读取 40 个保持寄存器(FC03)做完整推导,附带不同波特率下的理论耗时表。
2026-09-14 20:11:45
252
原创 WiFi 配网状态与 RSSI 信号强度
在基于 ESP 芯片的智能电表、采集终端项目调试时,经常会在设备自带 Web 配网页面看到 WiFi 状态码、IP 地址、信号强度 RSSI 这三组参数。很多现场调试人员不清楚每个状态代表什么含义,也看不懂负数形式的 WiFi 信号强度,遇到配网失败、平台不上报数据时无从下手。本文结合 ADL-W 电表 AP 配网页面的实际案例,一次性讲清楚状态定义、RSSI 判读标准以及常见故障排查思路。
2026-09-14 19:46:20
174
原创 VSCode+Gitee 保姆级教程
git add .必须带空格Gitee 推送密码是 Token,不是登录密码本地修改不 commit,pull 不会覆盖文件空文件夹克隆代码必须加ESP 工程一定要忽略 build 文件夹GitHub 国内卡顿,个人开发只用 Gitee本文汇总了99% 新手会遇到的所有 Git+Gitee 问题,没有废话、没有难懂理论、全部基于真实开发踩坑总结。熟练本文流程,你可以永久解决: 代码备份、版本回退、多电脑同步、代码冲突、上传失败、版本错乱 等所有问题。
2026-09-11 23:34:21
202
原创 Modbus‑RTU 数据类型分析
Address:填写十进制寄存器地址,严禁直接粘贴手册十六进制地址。Function:读保持寄存器固定03。Data Type:严格按照手册数据类型选择,浮点数确认字节序 ABCD 还是 CDAB,工业大部分设备是 ABCD 大端。Slave ID:从站设备地址。Scan Rate:实时模拟量参数设置 1000ms;累计计量数据变化慢,设置 2000ms 即可,不需要高频轮询。配置示例:表格十进制地址功能码数据类型扫描周期从站 ID描述手册 16 进制地址003。
2026-09-11 23:24:44
385
原创 Modbus 从站 + WiFi + 私有串口 市电事件处理
表格寄存器数值含义0x101D0空闲,无市电事件0x101D1检测板发起市电事件,仪表等待主控执行关闭 AC0x101D2事件处理完成,检测板释放寄存器状态关键原理: 仪表不会自己修改 0x101D,寄存器全部由检测板主机写;仪表只做状态感知。当检测板写0x101D=2,仪表内部状态机复位,准备下一轮事件。
2026-09-10 18:35:52
74
原创 ESP32 智能插座调试软件功能测试
本文针对 ESP32 智能插座配套调试软件开展完整功能测试,覆盖设备搜索连接、实时数据读取、继电器开关控制、电能清零、设备信息读写、SN / 型号配置、计量校准、OTA 固件升级、设备日志打印等全部核心模块,验证工具是否满足智能插座产线调试、研发调试的使用需求。ESP32;智能插座;调试工具;OTA 升级;电能计量;功能测试。
2026-09-03 14:08:00
210
原创 ESP32 PSRAM与Flash详解
模块型号:ESP32‑WROOM‑32UE‑MQN4R2 主控芯片:ESP32‑D0WD‑V3(双核 LX6,非 ESP32C3) 存储配置:4MB Flash + 2MB PSRAM 编译目标:esp32。
2026-09-03 11:57:44
290
原创 ESP32 WiFi重连越界BUG
staErrCnt = 0~7 时,下标合法,严格按照数组梯度延时重连,第8次失败后正常执行1小时间隔重连,完全符合设计预期。1小时重连只是注释设计意图,无钳位逻辑时,越界读取随机内存值,重连间隔完全不可控:可能毫秒级高频重连,也可能数天不重试。:前期短间隔快速重连处理临时网络波动,重试次数达标后切换1小时长间隔重连,避免频繁重连占用信道资源、被路由器拉黑封禁。动态计算数组最大下标,不写死魔数,超限强制锁定最后一位,稳定1小时重连。,下标7为最大档位,设计为1小时超长重连间隔,适配长期断网场景。
2026-09-01 21:08:18
397
原创 ESP32 LED 驱动:为什么量产硬件大多用低电平点亮(灌电流)
共阳极(灌电流驱动):LED 接 3.3V 电源,IO 输出低电平点亮共阴极(拉电流驱动):LED 接 GND,IO 输出高电平点亮很多初学者图代码直观,直接选用第二种,但是实际产品原理图,绝大多数选用第一种。本文讲清楚底层硬件原因,帮大家避开踩坑。量产硬件设计:优先共阳极灌电流驱动(低电平点亮 LED),IO 电气性能更好、上电状态可控,工业设计主流选择;代价是代码逻辑取反。个人简单实验:两种都可以,图写代码省事可以用高电平点亮。多 LED 同时工作,坚决避免直接使用拉电流驱动。
2026-08-30 21:48:02
359
原创 Modbus TCP调试与数据解析
在工业物联网、电力采集、设备通讯场景中,Modbus TCP 是目前使用最广泛的以太网通讯协议。很多新手开发时经常遇到:报文格式错乱、设备无应答、数据解析错误、浮点数值异常、工具配置不生效等问题。本文基于真实电表设备(ADL400N-CT)实测场景,从零讲解 Modbus TCP 标准协议格式、完整收发报文解析、SSCOM/Modbus Poll 工具实操、32位浮点数据解析、常见报错排查,全程纯 Modbus TCP 通讯,不涉及任何广播、域名解析相关内容,适合新手入门、项目落地、问题排查。
2026-08-29 20:46:45
33
原创 ESP-IDF版本兼容报错:INTR_CPU_ID_AUTO 未定义问题终极解决
核心纠正是 IDF5.1.2 旧宏,并非5.5新增;IDF5.3.5 迭代为高版本IDF废弃旧宏,属于版本API迭代兼容问题,非代码逻辑BUG适配原则:5.1.2旧工程迁移5.3.5,只需替换中断CPU宏名称,无需删除结构体字段最优开发原则:工程IDF版本与编译环境版本一一对应,跨版本迁移需同步适配迭代API、宏定义。
2026-08-28 08:32:37
198
原创 MQTT QoS 等级核心区别
MQTT 协议定义了 3 个服务质量(Quality of Service, QoS)等级,用于约定消息在发布者、消息代理(Broker)与订阅者之间的投递可靠性。等级越高,可靠性越强,但网络开销和延迟也同步上升。
2026-07-07 13:10:47
202
原创 光伏微逆现场技术走访纪实
技术层面:本次 WiFi TCP 多客户端断线阻塞 bug 已完成线程架构重构方案,现场可复现问题全部解决,优化固件可快速适配客户整机程序;方案选型:户用场景推荐 WiFi 无线组网,工商业复杂工况优先 RS485 有线方案,两套方案均可满足客户防逆流、云端监测需求;后续动作:输出优化版 TCP 服务端线程代码,提供完整测试固件交付客户,同步配合客户整机联调,验证长时间满负载组网通讯稳定性。
2026-07-05 09:48:47
360
原创 新能源 & 工控行业一线客户出差走访纪实
本次多区域、多赛道客户集中走访,覆盖锂电装备、储能温控、智能家居、光伏电控、工业配电五大新能源上下游赛道,摸清各行业设备工况、计量精度、耐高温、谐波、高压直流、海外认证、交付周期、包装、软件平台、无线模组等差异化硬性需求,同步收集现场硬件故障、价格承压、交付不稳定、结构不良、操作繁琐等痛点。算法 / 硬件优化:完成嘉拓电表滤波算法对比测试,迭代稳定计量版本;定制开发:针对酷领高温高压、朗国模组简化配网、嘉拓能源管理平台等需求输出定制方案;供应链改善:优化产品包装、锁定标准交付周期,稳定大批量供货;
2026-07-05 09:43:07
204
原创 移远模组 MQTT 加密实战:SSL vs 明文对比
移远模组的 MQTT 加密其实非常简单,90% 的代码都不用改,只需要加 3 步 SSL 配置。原来的业务逻辑、JSON 报文、主题、账号密码都可以原封不动地复用,大大降低了改代码的风险和工作量。我是嵌入式学习菌,公众号同名,专注分享嵌入式开发干货、量产项目实战和避坑指南。后续还会更新更多移远模组的高级用法,比如 OTA 升级、低功耗优化,关注我,带你少踩坑、高效搞开发!
2026-04-29 15:18:20
258
原创 阿里云物联网平台(物模型)MQTT 协议详解
普通自定义 MQTT:你之前用的自己搭的 MQTT 服务器,随便填账号、主题、报文。阿里云物模型 MQTT:走阿里云 IoT 官方平台,强制规范、固定格式、绑定物模型。1. MQTT 服务器地址 & 端口自定义 MQTT地址:随便填 IP / 域名,比如1883随便用,自己服务器说了算谁都可以搭建,无固定规则阿里云物模型 MQTT固定域名ProductKey.iot-as-mqtt.地域.aliyuncs.com不能填自定义 IP,必须用阿里云官方接入域名1883明文 /8883。
2026-04-29 14:34:29
1470
原创 无隔离转接板直飞线 J-Link 调试指南
J-Link 引脚号信号标识核心作用电压方向强制 / 可选1VTref(目标板参考电压)J-Link 识别目标板 IO 电平的基准,也是目标板是否上电的关键检测信号目标板 → J-Link(输入)✅ 强制4/6/8 等任意地脚GND信号电平的参考基准,是通信稳定的基础双向连通✅ 强制(至少 1 根,建议 2 根)7SWDIO(TMS)双向调试数据信号,负责 MCU 寄存器、Flash 的读写操作J-Link ↔ 目标板✅ 强制9SWCLK(TCK)
2026-04-29 14:04:27
81
原创 ESP32-MQN4 与 MQN4R2 区别
ESP32-MQN4 和 MQN4R2串口引脚完全不通用,核心就是 PSRAM 抢占了 GPIO16/17,这是硬件死规则,没有任何 workaround。只需要替换引脚宏定义,你的项目就能立刻恢复正常!嵌入式开发就是这样,细节决定成败,一个引脚配置错误,就能让整个项目卡死,吃透硬件规则,才能少踩坑、高效开发。我愿用当下的踏实耕耘,换往后半生的从容自在,关注我,持续分享 ESP32 / 嵌入式开发避坑干货,带你轻松搞定开发难题!
2026-04-17 11:59:55
139
原创 JLink 添加国产芯片手把手教程(雅特力 + 华大)
拷贝厂商算法文件夹 + 配置 JLinkDevices.xml。雅特力直接复制官方配置,华大按需添加芯片节点,操作一次,永久生效,以后调试 AT32、HC32 再也不用愁找不到型号。这套方法适配全版本 JLink,也是国产 MCU 替代项目的必备技能,看完照着做,新手也能轻松搞定。百度网盘资料分享:通过网盘分享的文件:jink驱动(包括新增芯片型号)链接: https://pan.baidu.com/s/14SLgrPfyof1lglD6VQguAw?pwd=cfuq 提取码: cfuq。
2026-04-09 18:06:01
701
原创 国密 SM4 加密 C 语言嵌入式实现
这套国密 SM4 代码是嵌入式量产级实现,完全对齐电力电表项目需求,纯 C 无依赖、逐行注释、可直接移植到 ESP32/STM32。从算法核心到业务封装,全覆盖讲解,解决你嵌入式项目中数据加密的所有痛点,国密合规、稳定高效。我愿用当下的踏实耕耘,换往后半生的从容自在,关注我,持续分享嵌入式开发硬核干货!
2026-04-09 17:29:40
204
原创 ESP32 局域网 HTTP 与公网 HTTPS 代码区别
电表使用的 HTTP Server,是 ESP32 搭建的内网服务,依赖局域网,必须同 WiFi 才能访问;公网 HTTPS 是 ESP32 作为外网客户端,只要有网络即可通信,不受局域网限制。
2026-04-03 16:05:40
200
原创 EMS - 电表 / 智能插座 TCP 通讯协议
TCP 连接建立后,电表向 EMS 发起的身份验证命令,是所有后续通讯的前置步骤,必须先完成验证才能进行数据交互。EMS 向电表发送的模式控制命令,用于切换电表的功率上报方式,是触发0x04主动上报的唯一入口。表格模式值含义0默认模式:功率变化时不主动上报,仅响应0x03查询1主动上报模式:功率变化超阈值时,电表主动发0x04上报EMS 主动拉取电表实时电参数的被动查询命令,是模式 0 下唯一的获取数据方式,模式 1 下仍可使用。表格字节范围字段名数据类型说明voltage。
2026-04-02 13:56:44
294
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅