跳到主要内容

WS2812B Modbus 灯控 v2.0.0

RS-485 Modbus RTU 从站,控制 WS2812B 灯带 / 点阵(最多 512 颗),支持场景、播放列表和定时自动关灯,设置保存在 Flash 末尾两页

适用硬件:STM32F103RCT6 WS2812B RS-485 灯控板

预期现象

上电后 8×32 点阵做一次 RGB 自检,随后等待 Modbus 命令

更新说明

首个收录版本(启动打印为 v2.0)。只有 hex,地址已内置,从 0x08000000 开始,共 41040 字节。 版本号和日期已由用户确认(2026-10-20)。

文件

说明

WS2812B Modbus 灯控 一、功能 Modbus RTU 从站(线圈 / 离散输入 / 保持寄存器 / 输入寄存器),控制 WS2812B 灯带 / 点阵,单通道最多 512 颗(暂定);出厂默认按 8×32 = 256 颗初始化。 32 种灯带特效(呼吸、彩虹、流星、火焰等,速度 / 颜色 / 循环可调),13 种点阵特效(数字雨、文字滚动、时钟等)。 逐像素控制(索引或 XY 坐标)、批量像素写(单帧最多 29 个)、全局亮度 0–255。 灯带最多分 8 段,各段独立特效;32 个场景存 Flash,可上电自动恢复,可按顺序轮播。 文字显示与滚动、定时自动关灯、通信错误 / 收发帧计数。 设置保存在 Flash 末尾两页(双页轮换,见 layout.csv),旧版单页设置会自动迁移。 二、启动打印(调试串口 USART1 PA9/PA10,115200 8N1) === WS2812B Modbus Controller v2.0 === SYSCLK: 72MHz RS485: USART2/PA2/PA3 DE: PC1 WS2812B: 256 LEDs initialized, RGB self-test done Matrix: 8x32 initialized Slave: 1 Baud: 9600 Parity: None (出厂默认值) Modbus RTU ready. Waiting for commands... 三、出厂默认 从站地址 1,RS-485 9600 8N1;可选波特率 2400 / 4800 / 9600 / 19200 / 38400 / 57600 / 115200。 以上取自固件反汇编,未上板实测。 支持功能码 FC03 / FC06 / FC16;从站地址 1–247。寄存器分区见 寄存器.csv(摘要,完整表暂未公布)。 最多 512 颗为暂定值,尚未实测;启动打印的 256 颗是出厂默认的 8×32 点阵。 四、注意 不带引导程序,从 0x08000000 运行。镜像只占 0x08000000–0x0800A04F(40.1 KB), 按扇区擦除烧录不会碰到 0x0803F000 起的设置页;整片擦除会把设置恢复为默认值。