FreeModbus_Slave-Master-RTT-STM32 icon indicating copy to clipboard operation
FreeModbus_Slave-Master-RTT-STM32 copied to clipboard

增加API文档

Open armink opened this issue 11 years ago • 9 comments

采用Doxygen方式,生成API文档

armink avatar Jan 20 '14 11:01 armink

Markdown的中文API文档已增加,后期考虑国际化问题

armink avatar Jul 02 '14 05:07 armink

您好,我想请教一下,读写多个保持寄存器不检查PDU长度,这个问题你有发现吗?

GaolonglongHub avatar Jul 01 '19 18:07 GaolonglongHub

我最近下载的Freemodbus1.6官方的从机例子,运行基本功能没问题,就是发现对多个保持寄存器或者线圈进行写操作的时候,协议栈并不检查数据区域的长度,导致如果数据少了就会把CRC的字节当做数据写入寄存器,想请教一下,期待您的回复,非常感谢了!

GaolonglongHub avatar Jul 01 '19 18:07 GaolonglongHub

我最近下载的Freemodbus1.6官方的从机例子,运行基本功能没问题,就是发现对多个保持寄存器或者线圈进行写操作的时候,协议栈并不检查数据区域的长度,导致如果数据少了就会把CRC的字节当做数据写入寄存器,想请教一下,期待您的回复,非常感谢了!

应该不存在这个问题,读写多个寄存器线圈都是挺常用的基本功能呢。

armink avatar Jul 02 '19 02:07 armink

朱工,您好!

  非常感谢您的回复,我想您这边能否帮我确认以下,通过0x10功能码写多个保持寄存器,比如命令指定写8个保持寄存器,理论需要16个字节数据,但是实际后面只有7个数据即14个字节,这样Freemodbus好像不检查数据长度,把CRC的结果当做数据写入保持寄存器。我这边从freemodbus下载的1.6的源代码没有做更改,非常期待您的回复,同时我非常想认识你,能否添加一下我的微信手机号18817508560,谢谢!

------------------ 原始邮件 ------------------ 发件人: "朱天龙 (Armink)"[email protected]; 发送时间: 2019年7月2日(星期二) 上午10:38 收件人: "armink/FreeModbus_Slave-Master-RTT-STM32"[email protected]; 抄送: "龙龙"[email protected];"Comment"[email protected]; 主题: Re: [armink/FreeModbus_Slave-Master-RTT-STM32] 增加API文档 (#3)

我最近下载的Freemodbus1.6官方的从机例子,运行基本功能没问题,就是发现对多个保持寄存器或者线圈进行写操作的时候,协议栈并不检查数据区域的长度,导致如果数据少了就会把CRC的字节当做数据写入寄存器,想请教一下,期待您的回复,非常感谢了!

应该不存在这个问题,读写多个寄存器线圈都是挺常用的基本功能呢。

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

GaolonglongHub avatar Jul 02 '19 03:07 GaolonglongHub

是有检查的,你看下这里 https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32/blob/0f0a3e865f661fcbe01e1ca456e1929014f2bbc5/FreeModbus/modbus/functions/mbfuncholding.c#L119

数据长度不够,是会返回错误的。

更多交流也可以加我 QQ :383016632

armink avatar Jul 02 '19 04:07 armink

朱工:

我分析这个检查只是检查了接收到的数据是不是最小的数据长度,并不检查具体要接收多少数据,所以少发和多发数据,不会报错,不知道这么理解对不对,恳请指点,谢谢!

------------------ 原始邮件 ------------------ 发件人: "朱天龙 (Armink)"[email protected]; 发送时间: 2019年7月2日(星期二) 中午12:02 收件人: "armink/FreeModbus_Slave-Master-RTT-STM32"[email protected]; 抄送: "龙龙"[email protected];"Comment"[email protected]; 主题: Re: [armink/FreeModbus_Slave-Master-RTT-STM32] 增加API文档 (#3)

是有检查的,你看下这里 https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32/blob/0f0a3e865f661fcbe01e1ca456e1929014f2bbc5/FreeModbus/modbus/functions/mbfuncholding.c#L119

数据长度不够,是会返回错误的。

更多交流也可以加我 QQ :383016632

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

GaolonglongHub avatar Jul 02 '19 04:07 GaolonglongHub

朱工:

  写多个寄存器只是检查了最小数据帧的长度,并没有根据帧里面数据长度做检查,写单个寄存器的检查条件是==号,所有单个写0x06功能码是能够识别出错误的

------------------ 原始邮件 ------------------ 发件人: "朱天龙 (Armink)"[email protected]; 发送时间: 2019年7月2日(星期二) 中午12:02 收件人: "armink/FreeModbus_Slave-Master-RTT-STM32"[email protected]; 抄送: "龙龙"[email protected];"Comment"[email protected]; 主题: Re: [armink/FreeModbus_Slave-Master-RTT-STM32] 增加API文档 (#3)

是有检查的,你看下这里 https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32/blob/0f0a3e865f661fcbe01e1ca456e1929014f2bbc5/FreeModbus/modbus/functions/mbfuncholding.c#L119

数据长度不够,是会返回错误的。

更多交流也可以加我 QQ :383016632

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

GaolonglongHub avatar Jul 02 '19 04:07 GaolonglongHub

Mark一下

yyjpeter avatar Sep 07 '21 05:09 yyjpeter