找回密码
 立即注册
收起左侧
楼主: yafeilinux

Qt串口通信全新专题

125
回复
98778
查看
  [复制链接]
累计签到:75 天
连续签到:1 天
2014-6-11 20:03:07 显示全部楼层
楼主好 ,问个问题, QCom跨平台串口调试助手1.0发布  这个版本的程序用的是 第三方库的新版吗 ?
回复 支持 反对

使用道具 举报

累计签到:75 天
连续签到:1 天
2014-6-11 20:04:10 显示全部楼层
新版本和老版本区别大吗 ,还有 在那下载新版本 ,google 链接打不开 ,应该是Google老被封的原因
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-6-11 22:37:35 显示全部楼层
noway 发表于 2014-6-11 20:04
新版本和老版本区别大吗 ,还有 在那下载新版本 ,google 链接打不开 ,应该是Google老被封的原因 ...

区别不大,但是新版更好用了。可以下载我们的源码,里面有第三方库的。
回复 支持 反对

使用道具 举报

累计签到:75 天
连续签到:1 天
2014-6-12 08:44:16 显示全部楼层
yafeilinux 发表于 2014-6-11 22:37
区别不大,但是新版更好用了。可以下载我们的源码,里面有第三方库的。 ...

好的 ,谢谢 !,期待楼主新版本的教程!
回复 支持 反对

使用道具 举报

累计签到:75 天
连续签到:1 天
2014-6-12 20:09:00 显示全部楼层
yafeilinux 发表于 2014-6-11 22:37
区别不大,但是新版更好用了。可以下载我们的源码,里面有第三方库的。 ...

楼主好 ,今天看了您之前写的串口程序的教程和新版本的程序觉得非常好 ,思路很清晰,讲得也还明白。我有个问题想请教 ,我看您的程序,写串口 是通过 write() 函数写的 ;对串口数据 ,是通过 readyread()信号触发读的 ,我想问的是 ,我实际控制下位机的时候 是通过 写串口 write()函数发给下位机,下位机接收到我的指令会马上发回数据 ,请问 这种情况我用什么方法 读下位机给我的数据 ,是通过信号readyread()获得这条数据,还是直接 通过read() 函数读取 ,还有一个问题 ,下位机 ,每十秒 给上位机 发送数据 ,我怎么区别这些数据 ,是通过接受到数据 在解析吗 ?谢谢回复!
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-6-30 21:31:10 显示全部楼层
noway 发表于 2014-6-12 20:09
楼主好 ,今天看了您之前写的串口程序的教程和新版本的程序觉得非常好 ,思路很清晰,讲得也还明白。我有 ...

不好意思,刚看到留言。

这个通过readyread()来接受,然后自己解析一下即可,因为解析一下时间很短,所以即便10秒发次数据也不会乱的。

点评

哦 ,谢谢!我现在就是这么做的。不过在每条write 函数后 都加了 Sleep()函数 ,要不readyread()的槽函数解析不正确,不知道是不他下位机反应慢 ,一般写这种程序,写完write之后,下位机马上回复数据,这种用加  详情 回复 发表于 2014-7-1 09:18
回复 支持 反对

使用道具 举报

累计签到:75 天
连续签到:1 天
2014-7-1 09:18:33 显示全部楼层
yafeilinux 发表于 2014-6-30 21:31
不好意思,刚看到留言。

这个通过readyread()来接受,然后自己解析一下即可,因为解析一下时间很短,所 ...

哦 ,谢谢!我现在就是这么做的。不过在每条write 函数后 都加了 Sleep()函数 ,要不readyread()的槽函数解析不正确,不知道是不他下位机反应慢 ,一般写这种程序,写完write之后,下位机马上回复数据,这种用加延时吗?
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-7-2 22:25:24 显示全部楼层
noway 发表于 2014-7-1 09:18
哦 ,谢谢!我现在就是这么做的。不过在每条write 函数后 都加了 Sleep()函数 ,要不readyread()的槽 ...

一般不用加延时的。

点评

好的 ,谢谢!  详情 回复 发表于 2014-7-3 10:01
回复 支持 反对

使用道具 举报

累计签到:75 天
连续签到:1 天
2014-7-3 10:01:31 显示全部楼层
yafeilinux 发表于 2014-7-2 22:25
一般不用加延时的。

好的 ,谢谢!                                                
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2014-8-1 18:12:59 显示全部楼层
老师讲的真好,最近打算买一本楼主的书。不过这个串口助手为什么不能发送中文啊
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-8-4 22:32:53 显示全部楼层
superbool 发表于 2014-8-1 18:12
老师讲的真好,最近打算买一本楼主的书。不过这个串口助手为什么不能发送中文啊 ...

这个在程序中没有实现。
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2014-8-5 11:10:20 显示全部楼层
yafeilinux 发表于 2014-8-4 22:32
这个在程序中没有实现。

折腾了一段时间,发现发送中文是没有问题的,用另一个串口助手可以接收到用这个发送的中文数据,然后就发现了问题,在发送数据时最后有一句
#if QT_VERSION < 0x050000
        buf = ui->sendMsgLineEdit->text().toAscii();
#else
        buf = ui->sendMsgLineEdit->text().toLocal8Bit();
我用的是QT5.3,就是在.toLocal8Bit();出了问题,中文字符编码unicode一般要两个字节(并且都大于127,属于不可打印字符),.toLocal8Bit()在这将一个中文汉字拆分成了两个独立的8位字节,然后发送出去,在解码的时候由于没有处理大于127的字符格式的数据,所以就发送中文显示成问号了.然后就在读取数据函数readMyCom()折腾了一宿,一个个试验,终于发现QString类有个fromLocal8Bit方法,所以就在readMyCom()下加了一句
buff = buff.fromLocal8Bit(temp); 然后一编译发现竟然能显示中文了.
不知我说的对不对,还请老师指导
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-8-6 08:06:58 显示全部楼层
superbool 发表于 2014-8-5 11:10
折腾了一段时间,发现发送中文是没有问题的,用另一个串口助手可以接收到用这个发送的中文数据,然后就发现 ...

嗯。只要实现了功能就行。
回复 支持 反对

使用道具 举报

尚未签到

2014-10-14 22:44:45 显示全部楼层
官方的google网址上不去...论坛是不是弄个自己的专用网盘供下载呀
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-10-15 20:12:35 显示全部楼层
suiperdai0201 发表于 2014-10-14 22:44
官方的google网址上不去...论坛是不是弄个自己的专用网盘供下载呀

可以查看论坛的下载和代码页面。
回复 支持 反对

使用道具 举报

尚未签到

2014-10-28 17:05:18 显示全部楼层
现在的第三方类支持事件驱动吗?
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-10-30 21:58:09 显示全部楼层
123 发表于 2014-10-28 17:05
现在的第三方类支持事件驱动吗?

嗯。支持了。建议使用Qt 5自带的串口类。
回复 支持 反对

使用道具 举报

累计签到:13 天
连续签到:1 天
2014-12-22 21:04:57 显示全部楼层
本帖最后由 zac 于 2014-12-29 09:41 编辑

这个串口助手能将测到的数据转化为波形在界面上显示出来吗?
回复 支持 反对

使用道具 举报

累计签到:15 天
连续签到:1 天
2014-12-23 10:36:49 显示全部楼层
这个程序已经学习了好几遍了,发现这个程序有个很重要的问题没涉及到:串口句柄问题。在VC中,在主界面创建串口,通过获取串口句柄,可以在不同的子窗口使用该串口,从而便利了上位机功能模块的扩展。最近一直在研究怎么在Qt里实现一个程序的不同子窗口都能使用打开的串口。这个问题搞了好几个星期的,没有解决,请yafeilinux 指教
回复 支持 反对

使用道具 举报

累计签到:1568 天
连续签到:1 天
2014-12-23 23:47:03 显示全部楼层
ntdxls 发表于 2014-12-23 10:36
这个程序已经学习了好几遍了,发现这个程序有个很重要的问题没涉及到:串口句柄问题。在VC中,在主界面创建 ...

是啊,串口涉及的内容挺多的,当时并没有涉及很全面。关于你说的问题,乐意跟你探讨。
回复 支持 反对

使用道具 举报

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

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