# modbus_hmi **Repository Path**: luospring/modbus_hmi ## Basic Information - **Project Name**: modbus_hmi - **Description**: 基于STM32F407,在裸机环境下,移植的FreeModbus RTU协议栈 - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-10-05 - **Last Updated**: 2025-10-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 关于modbus时序要求 1. modbus要求数据帧之间至少间隔少于1.5个字符的传输时间,否则认为单帧结束 2. 不同两帧之间至少间隔3.5个字符传输时间 关于串口传输能力评估 1. 115200波特率情况下,按照N81配置,传输1个字节大概需要 86.8μs 2. modbus 一个请求+回复 大概需要15个字节,按照20字节计算,大概需要1.7ms左右完成一次传输 (纯传输时间,不含数据处理) 3. 所以1s之内预计大概可以进行588个循环的数据交互,即10ms最多执行6条左右modbus指令 环境 1. 编译器版本 V5.0.6 V6以上不兼容 FreeModbus占用硬件资源 1. 一个串口,(收发中断都需要打开) 2. 一个专用定时器 关于传输的设计: 1. HMI配置使用连续多个字节的读写,和MCU通信,增加一帧长度,减少通信帧数 2. MCU本地数据在check changed的时候,更新到modbus寄存器,降低频繁赋值带来的资源消耗