yafeilinux
发表于 2017-2-23 15:52:18
CX0660 发表于 2017-2-22 13:45
谢谢您的回复,还想请问下要达到不卡顿,需要我自己在从哪方面进行优化? ...
可以尝试在其他线程处理复杂操作。
chriemo
发表于 2017-11-16 12:45:03
不支持中文。我现在遇到一个问题:如果中文GBK编码的话,只读到高字节,然后把数据转为Unicode编码,会乱码。这个这么解决呢
半岛旧情
发表于 2018-8-15 15:23:49
很棒 学习了 谢谢分享这么细致的东西,每一点滴的进步都感谢大家的分享与帮助:loveliness:
snow11010
发表于 2018-8-17 11:38:04
本帖最后由 snow11010 于 2018-8-17 11:52 编辑
老师您好,有个问题想请教您。我用QT 5.6.3自带的modbus示例程序做串口数据收发演示的时候出现问题,问题是自带的示例程序可能不发送modbus请求。 情景:我用VSPD虚拟出两个串口,用SSCOM V5.13.1做modbus从站模拟(接收QT示例程序的请求),用QT自带的modbus Master示例程序进行与串口调试助手(SSCOM)进行通讯。双方参数为:波特率1200、无校验、8位数据位、1位停止位。modbus参数为:地址域-1,功能码-4,起始地址-0,寄存器数量-1;超时重连次数3,超时时间1000ms。(见图片)
问题详细描述:1. 不发送modbus请求与设置的波特率有关,当9600波特率时,示例程序发送2帧请求帧(最后一帧缺少CRC);当波特率为19200时,示例程序发送4帧请求帧(最后一帧缺少CRC);当波特率为115200时,示例程序发送23帧请求帧(最后一帧缺少CRC);可以发送请求帧的数量与波特率大小成比例。
2. 在示例程序中的接收槽readReady()里设置断点,每次点击read按钮触发断点,手动继续执行,这样就不会出现不发送请求帧的问题。
3. 当触发不发送请求帧的问题时,QModbusRtuSerialMaster 对象 激发QModbusDevice::ConnectionError错误码,错误字符串为“Resource error.” (源程序155行)
注:红色标注的文字代表问题现象的猜测,因为我没有定义到错误根源,所以有可能不是不发送,而是SSCOM没收到请求帧。
希望老师帮忙找出我的问题,~
snow11010
发表于 2018-8-20 11:06:50
snow11010 发表于 2018-8-17 11:38
老师您好,有个问题想请教您。我用QT 5.6.3自带的modbus示例程序做串口数据收发演示的时候出现问题,问 ...
老师,这个问题暂时性解决了,把VSPD虚拟串口换成真实的串口线做调试就没问题。目前还没有定位到具体原因。
whofly
发表于 2020-6-1 21:03:10
哈哈 以前我也用C#做过一个简单的串口助手