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

Add master mode to FreeModbus. | 在 FreeModbus 中添加主机模式

Results 35 FreeModbus_Slave-Master-RTT-STM32 issues
Sort by recently updated
recently updated
newest added

移植到rtt,单步运行到那个判断超时的函数,就停了,跑飞了

操作系统:RTT、UCOS或者裸机 命令:读10个连续保持寄存器 时间:5min 上位机软件:Modbus Poll 硬件平台:STM32F103,主频72M,115200波特率 记录内容:命令请求成功及错误帧总数

非常感谢,开源这么实用的modbus master代码。 想请问一下,有实现过裸机下的portevent接口吗?我现在基于这个代码,移植了串口和定时器部分,也参考了slave的event实现方法,能够正常读写从机的寄存器。不过有一个问题:如果调用两次eMBMasterReqWriteHoldingRegister连续写两个寄存器,从modbus slave软件上只能接收到第二次写的数据。我怀疑是和event队列的实现有关系。所以想问问您有没有参考。非常感谢! errorCode = eMBMasterReqWriteHoldingRegister(MB_SLAVE_ADDR, 0, usModbusUserData[0], 0x100); HAL_Delay(500); errorCode = eMBMasterReqWriteHoldingRegister(MB_SLAVE_ADDR, 1, usModbusUserData[1], 0x100);

在mbrtu.c -> xMBRTUTransmitFSM 中 case STATE_TX_XMIT: /* check if we are finished. */ if( usSndBufferCount != 0 ) { xMBPortSerialPutByte( ( CHAR )*pucSndBufferCur ); pucSndBufferCur++; /* next byte in sendbuffer....

对于新手来说您的代码对我熟悉modbus和freemodbus的移植有很大的帮助,先谢谢您对开源的支持与帮助,我现在遇到了一个问题,需要连接多个从机,而跟多个从机分配地址是需要多次改动代码烧录非常麻烦,现在想到可以通过识别stm32的cpuid来区分不同的从机,由主机广播来分配从机的地址,请问freemodbus中对于用户自定义的功能码如何添加,从机初始化需要做出哪些修改,能否提一下您的思路,谢谢。

Where to connect DE and RE Pin of rs485 converter to stm32f4. And How to configure it? Thank you.

我觉得freemodbus官方末代版本v1.5里,如mbfunccoils.c/line161的 usRegAddress++; 属于莫名其妙的操作, 似乎并没有搞清楚设备地址与通讯地址的关系, 那个usRegAddress++;应当删除,不少人在移植从机版本的时候,把这一系列usRegAddress++;全都删除。 这个++操作应当在应用层里实现,而且不是加1,应当是加1,10001,30001,or 40001. |设备地址 |Modbus通讯地址| |:----- |:----| |00001...09999数字量输出 |设备地址-00001| |10001...19999数字量输入 |设备地址-10001| |30001...39999输入寄存器 |设备地址-30001| |40001...49999保持寄存器 |设备地址-40001|

仓主,SystemMonitor线程在调用eMBMasterReqxxx函数前,必须要调用 rt_thread_delay吗?我在测试时,遇到的问题时,如果没有调用rt_thread_delay的话,线程就卡死了。不知道仓主有没有测试到这个问题。 仓主回答: @ericQiang 你要等待 Modbus Poll 线程里面 MB_init 初始化成功,才能调用 modbus 相关的 API。 但目前masterPoll线程优先级最高,不存在MB_init初始化失败的情况。并且,我在初始化SystemMonitor线程时将延时设置为200.但问题依然会复现。仓主可否将你提交的工程中,SystemMonitor线程中的几个与rt_thread_delay屏蔽掉测试一下? 谢谢。

Modbus TCP相关内容是否考虑加进来呢?