<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>CG的博客</title>
    <link>https://cg-embed.duckdns.org/blog/</link>
    <description>嵌入式软件工程师的个人网站：专注于 STM32 / ESP32、FreeRTOS、Modbus / MQTT 物联网与 Qt 6 上位机开发，记录项目实践与技术博客。</description>
    <language>zh-CN</language>
    <atom:link href="https://cg-embed.duckdns.org/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>手写 Modbus RTU 主站协议栈：从帧组装到总线互斥</title>
      <link>https://cg-embed.duckdns.org/blog/modbus-rtu-stack/</link>
      <guid isPermaLink="true">https://cg-embed.duckdns.org/blog/modbus-rtu-stack/</guid>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <description>以一个 ESP32-S3 物联网网关项目为例，拆解手写 Modbus RTU 主站协议栈的工程要点：帧组装与解析、CRC16 查表实现、读写两类功能码、帧间隔与超时重试、异常应答处理、RS485 方向控制与总线互斥锁，以及从站模拟器注入异常的联调方法。</description>
      <category>Modbus</category>
      <category>RS485</category>
      <category>ESP32</category>
      <category>FreeRTOS</category>
    </item>
    <item>
      <title>EM-200 集中器设计：多协议抄读调度与离线续传</title>
      <link>https://cg-embed.duckdns.org/blog/em200-meter-reading-design/</link>
      <guid isPermaLink="true">https://cg-embed.duckdns.org/blog/em200-meter-reading-design/</guid>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <description>能耗在线监测集中器基于 ESP32-S3 与 FreeRTOS，经三路 RS485 抄读园区企业电水气三表，再经 4G 与 MQTT 上报平台。梳理表档案配置化、三通道错峰轮询、寄存器区间合并，以及日冻结、TF 卡环形缓存与离线续传的设计取舍和现场联调经验。</description>
      <category>Modbus</category>
      <category>FreeRTOS</category>
      <category>ESP32</category>
      <category>MQTT</category>
    </item>
    <item>
      <title>从零搭建个人网站：零依赖静态生成 + nginx 部署</title>
      <link>https://cg-embed.duckdns.org/blog/build-personal-site/</link>
      <guid isPermaLink="true">https://cg-embed.duckdns.org/blog/build-personal-site/</guid>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <description>不用任何框架和 npm 包，用一个 Node 脚本把 Markdown 和数据文件生成完整网站，再部署到只有 nginx 的服务器上。记录架构取舍与完整实现。</description>
      <category>建站</category>
      <category>Node.js</category>
      <category>nginx</category>
      <category>静态网站</category>
    </item>
    <item>
      <title>广告资源增量同步：用 SHA256 内容寻址保证幂等与可回滚</title>
      <link>https://cg-embed.duckdns.org/blog/ads-sha256-incremental-sync/</link>
      <guid isPermaLink="true">https://cg-embed.duckdns.org/blog/ads-sha256-incremental-sync/</guid>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <description>智能广告机设备端靠 MQTT 收广告列表，视频图片放在资源服务器。讲如何用服务端下发的 SHA256 签名做内容寻址：本地哈希一致就跳过下载，下载后二次校验，不一致自动删除回滚，并补偿文件与数据库记录的不一致。</description>
      <category>Qt</category>
      <category>MQTT</category>
      <category>SHA256</category>
      <category>SQLite</category>
    </item>
  </channel>
</rss>