找回密码
 立即注册
收起左侧

Qt 串口硬件控制流问题

4
回复
8677
查看
[复制链接]
累计签到:3 天
连续签到:1 天
来源: 2013-10-19 19:09:57 显示全部楼层 |阅读模式
10Qter豆
请教为什么我下载你们的串口调试助手能发,收不到数据呢,WIN7和XP都不行,用COMTOOLS等别的串口调试助手就可以,知道是硬件控制流的问题了,QCOM默认是FLOW_OFF,这样是能发送收不到数据,如果设置FlowControl=FLOW_HARDWARE,是能收到不能发数据。谢谢老师。

最佳答案

查看完整内容

完整的串口有九根连线。只有两根是通信线。其他的是一些控制线。就是用来发送一些控制信号的。如果流控制设置是错误的,就会产生错误的控制信号。通信就不能正常进行了。现在的串口通信中一般只用三条线,两根信号线和一根电源地。这个时候就需要关掉流控制。 另外,硬件流控制,就是硬件自动产生控制信号。软件流控制就需要软件控制来产生控制信号。 如果你有兴趣的话,可以研究一下。把流控制加入到QCOM中,并把代码发给我 ...
回复

使用道具 举报

累计签到:181 天
连续签到:1 天
2013-10-19 19:09:58 显示全部楼层
h6182448 发表于 2013-10-19 20:59
老师,为什么将FlowControl设置成FLOW_OFF,(无硬件流控制)能发送收不到数据,如果设置FlowControl=FLO ...

完整的串口有九根连线。只有两根是通信线。其他的是一些控制线。就是用来发送一些控制信号的。如果流控制设置是错误的,就会产生错误的控制信号。通信就不能正常进行了。现在的串口通信中一般只用三条线,两根信号线和一根电源地。这个时候就需要关掉流控制。
   另外,硬件流控制,就是硬件自动产生控制信号。软件流控制就需要软件控制来产生控制信号。

如果你有兴趣的话,可以研究一下。把流控制加入到QCOM中,并把代码发给我们。我们会在QCOM的帮助页中记录你的名字。再一次对你表示感谢。
回复

使用道具 举报

累计签到:181 天
连续签到:1 天
2013-10-19 20:49:17 显示全部楼层
现在很少人会用到流控制,所以我们的QCOM中对流控制的支持不太完善。我们会尽快改进,谢谢您的使用和支持。
回复

使用道具 举报

累计签到:3 天
连续签到:1 天
2013-10-19 20:59:24 显示全部楼层
hzzhou 发表于 2013-10-19 20:49
现在很少人会用到流控制,所以我们的QCOM中对流控制的支持不太完善。我们会尽快改进,谢谢您的使用和支持。 ...

老师,为什么将FlowControl设置成FLOW_OFF,(无硬件流控制)能发送收不到数据,如果设置FlowControl=FLOW_HARDWARE(有硬件流控制),是能收到不能发数据。FLowControl只有三个参数,还有一个是软件流控制,设置成这个和无硬件流控制一样,怎么才能实现正常通信呢?
回复

使用道具 举报

累计签到:3 天
连续签到:1 天
2013-10-21 16:04:05 显示全部楼层
hzzhou 发表于 2013-10-19 21:27
完整的串口有九根连线。只有两根是通信线。其他的是一些控制线。就是用来发送一些控制信号的。如果流控制 ...

问题解决了,我用螺丝刀把板子里的RTS和CTS俩根线刮断就可以了,设定为无硬件流控制。

在Qt用的那个第三方类   qextserialport.h,有Flow Type的定义:
enum FlowType
{
    FLOW_OFF,
    FLOW_HARDWARE,
    FLOW_XONXOFF
};

Qcom中设定的是FlOW_OFF, 如果用硬件流控制的话,需要设置成FLOW_HARDWARE,至于协议怎么实现,就看不懂了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了