STM32F407 嵌入式 Lua 脚本平台
一、项目概况
项 说明
主控 STM32F407VET6(LQFP100)
内核 ARM Cortex-M4,168MHz
系统 FreeRTOS V10.3.1(CMSIS-RTOS V1)+ HAL 库
核心 移植 Lua 5.4.7 解释器,内存共享 FreeRTOS 堆 80KB
交互 COM3(USART2)逐行脚本 REPL,回显即执行
工程 CubeMX 6.18 + MDK-ARM V5.32 + Git
二、功能清单(9 个 Lua 硬件库)
库 功能
gpio 空闲 IO 配置/读写/翻转/列表,占用引脚自动屏蔽
w25q W25Q16 SPI Flash 读写/擦除(2MB,片选 PB0)
rtc 实时时钟 get/set,掉电保持(备份寄存器判断)
uart3 RS485 透传(50ms 超时定行)、动态波特率、PE15 方向控制
modbus MODBUS-RTU 03/06/16,主/从站可配置,内置 16×16bit 寄存器
script 多段脚本存 W25Q16,按槽运行/开机自动运行
adc 双外部通道 + VREF 校准 + 芯片温度
i2c I2C1 通用寄存器读写(PB6/PB7)
spi2 SPI2 通用读写 + 参数运行时配置(波特率/模式/位序/数据宽)
另含 Lua 全部标准库(math/string/table 等)与持久脚本存储。
三、核心亮点
- 极简硬件脚本化
串口发一行脚本即控制任意外设,无需反复烧录调试,快速迭代硬件逻辑。
9 类外设统一 Lua 交互,学习曲线低。
2. 真正的掉电持久化
脚本存 W25Q16、RTC 时间备份寄存器保持,断电不丢,上电自动恢复。
支持 script.auto() 标记开机自动运行,可在不接电脑时独立执行业务逻辑。
3. RS485 工业通讯完备
透传 + MODBUS 主站/从站三合一,运行时可切换。
主站阻塞读取真实从站、从站响应上位机均实测通过。
4. 全子系统实测验证
每个库都在真实硬件上串口自动化测试通过(ADC 校准、MODBUS 主从、Flash 读写、RTC 掉电等)。
5. 严谨工程实践
代码全部写入 USER CODE 区,CubeMX 重新生成不覆盖;关键配置(任务/堆)已同步 .ioc 防清除。
完整开发日志 + Python 串口自动化测试 + Git 版本管理(已推送 Gitee)。
四、典型应用场景
工业采集板:Modbus 从站响应上位机 + 模拟量采集 + 温度监测
逻辑可配置设备:脚本存 Flash,现场用串口改逻辑而免重烧
RS485 网关:透传转发 + 主站轮询多从站设备

浙公网安备 33010602011771号