• 138541阅读
  • 117回复

串口调试助手(QT 4.4.3 + QextSerialPort 1.2) [复制链接]

上一主题 下一主题
离线weilina123
只看该作者 40楼 发表于: 2009-05-13
楼主你好,我是新手想文一下,QT 中用什么类来实现语音采集阿,在写一个语音聊天程序,不知道该怎么实现,请教一下
离线fcymk2

只看该作者 41楼 发表于: 2009-05-19
如果使用虚拟的串口设备(USB转串口),会找到串口,可是打不开,提示被占用
离线csoapy

只看该作者 42楼 发表于: 2009-05-19
引用第40楼weilina123于2009-05-13 09:30发表的  :
楼主你好,我是新手想文一下,QT 中用什么类来实现语音采集阿,在写一个语音聊天程序,不知道该怎么实现,请教一下


不好意思,这个我不会,没有思路。
离线csoapy

只看该作者 43楼 发表于: 2009-05-19
引用第41楼fcymk2于2009-05-19 13:59发表的  :
如果使用虚拟的串口设备(USB转串口),会找到串口,可是打不开,提示被占用


谢谢关注,前几天出去了,刚回来又得准备考试,所以没来得及回复你和前面那位,还有给我提交BUG的c-bq。

这个问题我只好再看看我的代码,usb转串口的东西我尽量找来试试看。

OK,又一个BUG,加上以前c-bq来信提到的,有三四个了。他提的bug见附图。主要是乱码问题,不知怎么回事,以前就没遇到,我自己也在别人机器上装过没问题。但现在我再试了几台机器,它的确就是乱码。而我在vs2005里面的时候无论debug还是release模式都正常。问题是打在安装包里面就不正常了,但我把qt4.4.3的QtCore.dll换成4.5.1的串口列表就正常,“关于”对话框还是不行。有点奇怪,估计是少个翻译相关的dll什么的,使得QTextCodec::setCodecForTr()没能执行成功,等考完试我再整吧。


离线tumblm
只看该作者 44楼 发表于: 2009-06-09
lz, 我把你的代码在Eclipse下编译,
总是提示这样一个错误:
undefined reference to 'vtable for MySerialPort'
这是怎么回事?
离线tumblm
只看该作者 45楼 发表于: 2009-06-09
另,虚拟设备不能读取。。
离线csoapy

只看该作者 46楼 发表于: 2009-06-10
引用第44楼tumblm于2009-06-09 19:42发表的  :
lz, 我把你的代码在Eclipse下编译,
总是提示这样一个错误:
undefined reference to 'vtable for MySerialPort'
这是怎么回事?


不知道,我没用过Ecllipse版的QT,但用QT4.4.3  for vs2005的时候好像也遇过这种错误,忘了是怎么解决的了,不过这是种常见的错误,你到网上搜搜应该能解决的。
[ 此帖被csoapy在2009-06-10 08:37重新编辑 ]
离线csoapy

只看该作者 47楼 发表于: 2009-06-10
引用第45楼tumblm于2009-06-09 19:42发表的  :
另,虚拟设备不能读取。。


记下了,谢谢!
关于大家提供的bug和建议,我大约在7月中旬才可以陆续修正。

另外后续版本我想用qtsdk 4.5.1(qt-sdk-win-opensource-2009.02.1)来做,但QextSerialPort库老是编译不成功,一些windows的setup*()函数连接不进去,但是用qt4.4.3 for vs2005就行,详细情况见:http://qtcn.org/bbs/read.php?tid=18818&fpage=5

有在qt-sdk-win-opensource-2009.02.1里面编译成功的吗?可有遇到这个问题?
离线skywild
只看该作者 48楼 发表于: 2009-06-18
请教一下,使用你的程序像我的开发板发送AT指令,没有和别的串口一样返回OK
而是返回我发送的信息
请问这是为什么?
离线csoapy

只看该作者 49楼 发表于: 2009-06-19
引用第48楼skywild于2009-06-18 18:10发表的  :
请教一下,使用你的程序像我的开发板发送AT指令,没有和别的串口一样返回OK
而是返回我发送的信息
请问这是为什么?


我看了下代码,里面发送缓冲区跟接收缓冲区之间没有什么关系,而且是数据收到后立即显示,所以应该不是我的代码的问题。
如果是QextSerialPort有问题,那么是不是at指令都没关系,它会一直有问题。
正常情况下,at指令应该返回ok或error的,用别的串口软件正常,说明也不是你的开发版有问题。

所以最有可能的就是我的代码出问题了,但我实在是找不出来,你能否用类似Servial Trace的串口监视来看一下从串口打开到你出错的过程,然后截个图贴到这里来或发我邮箱:csoapy@gmail.com?谢谢!
离线fifawww

只看该作者 50楼 发表于: 2009-06-23
不知道,这个算不算bug,将字体设置成雅黑之后,显示串口的话,有乱码
离线wutianzhu
只看该作者 51楼 发表于: 2009-06-28
楼主  我用的是windows下的 QT creator   你的源码中没有pro文件啊   我怎么 打开啊????打开哪个文件  请首长指示!!!!!
离线csoapy

只看该作者 52楼 发表于: 2009-06-29
引用第51楼wutianzhu于2009-06-28 17:16发表的  :
楼主  我用的是windows下的 QT creator   你的源码中没有pro文件啊   我怎么 打开啊????打开哪个文件  请首长指示!!!!!



我是用qt4.4.3 for vs2005做的,也想换成qtsdk for windows,但目前最近的两个版本都无法编译QextSerialPort 1.2,具体出错信息第五页有。

pro文件,你可以用qmake自建,或者按27楼cznc的方法来做。
离线zhangxp_789
只看该作者 53楼 发表于: 2009-07-07
请教cznc,如何将myserialport.cpp转换编码方式到ansi?
离线fcymk2

只看该作者 54楼 发表于: 2009-07-20
接收的数据一多的话 就会卡死 (115200, 每次50YBYTE的数据)
另外,改波特率的选项怪怪的..不管我选什么波特率,都能正常接收?
然后用另外一个程序SecureCRT 用错误的波特率 打开一次串口.然后关闭.
这时候再换回程序.不管用什么波特率打开就全是错误了
离线fhqsuhpv
只看该作者 55楼 发表于: 2009-07-22
能不能和我说一下你的那个程序中,从串口接收数据是哪一块?用开线程在那等吗?
class me:public you
{
}
离线csoapy

只看该作者 56楼 发表于: 2009-07-27
引用第55楼fhqsuhpv于2009-07-22 17:15发表的  :
能不能和我说一下你的那个程序中,从串口接收数据是哪一块?用开线程在那等吗?



QextSerialPort 1.2引入了事件机制,不必再自己开线程等到了。
离线csoapy

只看该作者 57楼 发表于: 2009-07-27
引用第54楼fcymk2于2009-07-20 10:56发表的  :
接收的数据一多的话 就会卡死 (115200, 每次50YBYTE的数据)
另外,改波特率的选项怪怪的..不管我选什么波特率,都能正常接收?
然后用另外一个程序SecureCRT 用错误的波特率 打开一次串口.然后关闭.
这时候再换回程序.不管用什么波特率打开就全是错误了


接收数据多会卡死,这个很可能与界面显示那部分代码的执行效率有关,我现在也没时间弄它。龚博士的串口调试助手也是在数据量大的时候cpu利用率会接近100%,不过他好像是接收一个字节就显示一个字节引起的。

每次50YBYTE的数据是什么意思?

波特率我没有测试过,看你的测试过程,应该是我这个程序并没有正确地设置波特率:因为你再用其它软件设置后,它才开始显示错误,之前并不显示。
离线csoapy

只看该作者 58楼 发表于: 2009-07-27
谢谢大家关注!有段时间没来了,目前我这里也没有设备来测试,时间也很紧,大约两周后可以改一改大家提供的bug。
离线csoapy

只看该作者 59楼 发表于: 2009-08-11
引用第54楼fcymk2于2009-07-20 10:56发表的  :
另外,改波特率的选项怪怪的..不管我选什么波特率,都能正常接收?



我用SerialTrace跟踪了一下,发现设置波特率的操作是正确的。
离线qiang1985
只看该作者 60楼 发表于: 2009-08-14
引用第1楼wutianzhu于2009-06-28 17:16发表的  :
楼主  我用的是windows下的 QT creator   你的源码中没有pro文件啊   我怎么 打开啊????打开哪个文件  请首长指示!!!!!

顶,我也是这样的问题!望LZ指示!
离线thcx
只看该作者 61楼 发表于: 2009-10-06
强人,学习之~~
离线lmk600
只看该作者 62楼 发表于: 2009-10-11
你好,你这个是在windows系统下写的吗?你有在linux下的吗?

请问你有QextSerialPort类的安装包吗?我在网上没找到,
你可以给我传吗

我看了你作的这个串口觉得很好,想学习

谢谢
离线fcymk2

只看该作者 63楼 发表于: 2009-10-14
引用第57楼csoapy于2009-07-27 22:30发表的  :
接收数据多会卡死,这个很可能与界面显示那部分代码的执行效率有关,我现在也没时间弄它。龚博士的串口调试助手也是在数据量大的时候cpu利用率会接近100%,不过他好像是接收一个字节就显示一个字节引起的。
每次50YBYTE的数据是什么意思?
.......



打错@_@ 我是说我一次发送50 BYTE的数据
另外.无法更改串口属性应该是1.2 的BUG
我用你的程序 使用 1.1的qextserialport就一切正常了@_@
就是1.1的 没用事件..要专门开个线程监听..麻烦...
离线avcodec
只看该作者 64楼 发表于: 2009-10-16
做个标记,有时间来看。
离线cjsh2005
只看该作者 65楼 发表于: 2009-10-20
顶一下!!
离线岭南小菜

只看该作者 66楼 发表于: 2009-11-07
引用楼主csoapy于2008-11-13 23:17发表的 串口调试助手(QT 4.4.3 + QextSerialPort 1.2) :
        欢迎使用 “我的串口”
    本软件用VS 2005 + QT4.4.3 + QextSerialPort写成
    界面模仿串口调试助手
.......

你好 :
我有个问题想求教下 QQ:372159875   zhao_yun_2009@163.com   希望得到回复!!
离线lishiyong110
只看该作者 67楼 发表于: 2010-03-27
论坛里面强人真的不少
静下心来学习
离线magic_mage
只看该作者 68楼 发表于: 2010-03-29
强人!下载下来先研究研究
离线fpcfjf

只看该作者 69楼 发表于: 2010-03-31
不错,谢谢,我先学习一下.
离线panhg

只看该作者 70楼 发表于: 2010-04-07
谢谢!
离线gaoxianjin

只看该作者 71楼 发表于: 2010-04-13
最好弄个在qtcreater下的工程,方便给新手学习,谢谢
离线csoapy

只看该作者 72楼 发表于: 2010-04-20
引用第71楼gaoxianjin于2010-04-13 17:53发表的  :
最好弄个在qtcreater下的工程,方便给新手学习,谢谢


已经转换到qt4.6.2 + qtcreator,详见三楼。
离线gaoxianjin

只看该作者 73楼 发表于: 2010-04-20
最新版 v1.05,QT4.6.2 + qtcreator,满足了我提出的要求,支持......................楼主
离线liupan
只看该作者 74楼 发表于: 2010-05-03
感谢
离线linhuixmu

只看该作者 75楼 发表于: 2010-05-14
请教楼主一个问题。qextserialport 目前有没有在LINUX下支持事件模式的呢!如有提供一个连接。
如果没有的话,我是不是就要开一个发送线程,开一个接收线程。让他去跑呢!楼主,还有没有更好的解决方法呢?谢谢!
离线csoapy

只看该作者 76楼 发表于: 2010-05-14
引用第75楼linhuixmu于2010-05-14 15:58发表的  :
请教楼主一个问题。qextserialport 目前有没有在LINUX下支持事件模式的呢!如有提供一个连接。
如果没有的话,我是不是就要开一个发送线程,开一个接收线程。让他去跑呢!楼主,还有没有更好的解决方法呢?谢谢!


qextserialport 目前的版本是1.2alpha,记得是文档中说事件驱动模式只支持windows平台,你可以再核实一下。

开个接收线程也是个方法,但不知linux下有无OS级的IO事件通知机制,应该是有吧?不大清楚,有的话最好利用上。
离线magic_mage
只看该作者 77楼 发表于: 2010-05-20
强人!楼主这个是在windows下做的吧,有linux版本的吗
离线csoapy

只看该作者 78楼 发表于: 2010-05-21
引用第77楼magic_mage于2010-05-20 10:51发表的  :
楼主这个是在windows下做的吧,有linux版本的吗

这个要看QextSerialPort,它目前的版本还是1.2alpha,只支持win平台。
我的代码里面没有平台相关的。
离线sunshine11b
只看该作者 79楼 发表于: 2010-11-05
下载文件打不开。
快速回复
限100 字节
 
上一个 下一个