net相关组件的问题

发布于 2019-09-03 10:30:38    浏览:580
1、使用了RTT自带的FreeModbus Mater RTU,发现一个BUG,读寄存器的接口不能正常的判断回包的正确性
RTT版本 3.1.4,FreeModbus版本 最新。
调用接口:
errorCode = eMBMasterReqReadHoldingRegister(1,3,8,RT_WAITING_FOREVER);
LOG_D("read holding registers, ret = %d.",(rt_uint8_t)errorCode);
使用串口调试助手发送任意字符串“1238fdhbjhfjsd”,LOG打印出 ret=0。



2、看了MQTT软件包的papo.pipe.c
实现,每路MQTT Client的创建只需要调用mqtt_start
即可。底层自动创建线程,
并且维护mqtt的链接状态。但是如果其他线程需要发送消息给mqtt,则显得有些麻烦。还需要用户再创建线程来处理
mqtt消息。RTT的底层是否可以做一个互斥锁,这样可以更方便其他线程安全访问mqttclient对象。

查看更多

4 个回答
还没想好
还没想好 2019-09-03
This guy hasn't written anything yet
1. FreeModbus 有 BUG 可以提 Pr 噢。
Cheney_Chen
Cheney_Chen 2019-09-03
This guy hasn't written anything yet
MQTT 中发送数据可以直接调用 paho_mqtt_publish 函数发送
RTT
RTT 2019-09-03
This guy hasn't written anything yet
Cheney_Chen 发表于 2019-9-3 19:55
MQTT 中发送数据可以直接调用 paho_mqtt_publish 函数发送


又看了下源码,有看到互斥锁,也就是publish消息的接口可以在任意线程任意使用。
应该没错哈
RTT
RTT 2019-09-03
This guy hasn't written anything yet
还没想好 发表于 2019-9-3 19:47
1. FreeModbus 有 BUG 可以提 Pr 噢。


只是简单测试了下,非常好复现(应该说必现),暂时还没精力看源码调试

撰写答案

请登录后再发布答案,点击登录
关注者
0
被浏览
580

发布
问题

分享
好友

手机
浏览

扫码手机浏览