zhigangbox

Results 4 comments of zhigangbox

无论是使用哪个modbusTCP工具,都是连续读取没问题,但是客户端断开后再连接就读取就不行了,我使用的是libmodbus在rt-thread的实现,地址https://github.com/settings/emails;同时我把这个主要相关的线程相关的函数以附件提供,希望大家帮我想想办法,或者用[email protected]与我沟通交流`#include "modbus_tcp_test.h" #include #include #include #include #include #include #include #define MAX_CLIENT_NUM 2 #define CLIENT_TIMEOUT 5 //单位 s typedef struct { int fd; rt_tick_t tick_timeout; }client_session_t; static void mbtcp_thread(void *param) {...

上一个问题增大Listen监听的数目可以改善,但不能根除; 现在新的问题: 1 我低层的网卡用的时W5500硬件协议栈,如果中间通过modbusTCP修改连接IP后,释放tx资源重新建立服务器,但时低端的W5500如果不初始化就会出现W5500的IP因为和新IP不一样服务器创建失败。如果W5500初始化,并且要在TCP之前初始化,又会出现一些其它错误。libmodbus在动态修改IP这方面有什么处理的技巧? 2 对于libmodbusTCP,在reply时将一些功能码合并,比如读线圈或者离散量,或者读输入寄存器和保持寄存器,在判断读写数目时用的宏变量if (nb < 1 || MODBUS_MAX_READ_REGISTERS < nb) 或者if (nb < 1 || MODBUS_MAX_READ_BITS < nb) 这里是不是给nb_registers和nb_bits才正确,还是说除了我们常规理解的以下4个宏之外 MODBUS_MAX_NB_BITS 表示coil MODBUS_MAX_NB_INPUT_BITS 表示desc MODBUS_MAX_READ_REGISTERS 表示input-reg MODBUS_MAX_WRITE_REGISTERS 表示hold-reg...

最后证明不是flashdb问题,时littlefs的超级块可能出问题了(不能读和删除,但增加一个文件就可以了,并提示重新定位)

这里确实是个问题,RT-THread的wiz软件包基于V1.0.3版本,新建的socke(前端无路由器,直接接在交换机上)居然不是closed状态而是0x22,造成直接-1返回造成一直无法通讯。大家有这个问题可以讨论QQ2730122869