本帖最后由 笨鸟想飞 于 2017-8-11 16:24 编辑
最近参考了 八度空间 的
FreeModbus在STM32上移植 http://openedv.com/forum.php?mod=viewthread&tid=69081&extra=&highlight=modbus&page=4
进行在STM32103ZE(战舰版)移植,在八度哥的原版程序进行串口配置修改,移植后,用串口调试助手和Modbus Poll 上测试
发现一直回复同一个数据,
修改过从机地址后,回复的数据从机地址会改变并符合。
求有做过STM32103系列移植FreeModBUS的好心人,解答一下。
源码如下:
V3.0裸机移植.rar
(6.94 MB, 下载次数: 420)
2017-8-11 16:24 上传
点击文件名下载附件
以下为在Modbus Poll 上的测试测试结果
@八度空间
[img]file:///C:UsersAdministratorAppDataRoamingTencentUsers505017069QQWinTempRichOleB0TPP8UCAH`QI)6AQ3[Y]~X.png[/img]
[mw_shl_code=c,true]
#define REG_INPUT_START (USHORT)0x0001 //Æeê¼¼Ä′æÆ÷
#define REG_INPUT_NREGS (USHORT)8 //¼Ä′æÆ÷¸öêy
#define REG_HOLDING_START (USHORT)0x0001 //±£3Ö¼Ä′æÆ÷
#define REG_HOLDING_NREGS (USHORT)8 //±£3Ö¼Ä′æÆ÷¸öêy
[/mw_shl_code]
你看看buf[2]或者发 0A 06 00 00 00 01 49 71 试试
返回值是0A 86 02 B2 63 错误
不知道为什么错误。
我想说的是,报文中传输的地址,比那个地址小1.
那你看看buf[2],意思就是你改变的是[2]的值。
哦哦 我看看
一周热门 更多>