• 9018阅读
  • 11回复

[提问]求解QT 串口通信问题?? [复制链接]

上一主题 下一主题
离线starter
 
只看楼主 倒序阅读 楼主  发表于: 2012-09-04
在WINDOWS上使用Win_QextSerialPort串口收发都没问题,但在(arm+linux)上用Posix_QextSerialPort就只能收,发送数据对方收不到,但是write函数确返回成功,以下打印都正常,         ( 如果直接调用linux  API收发都可以)
//打开串口

port = new QextSerialPort("/dev/ttyS1");
port->setBaudRate(BAUD9600);
//port->setFlowControl(FLOW_OFF);
port->setParity(PAR_NONE);    
port->setDataBits(DATA_8);  
port->setStopBits(STOP_1);
port->setTimeout(10);
bool ret = port->open(QIODevice::ReadWrite);
... ...
//写串口

retnum = port->write((char*)sendBuf,8);
printf("retnum = %d ",retnum);
for(int i=0;i<index;i++)
{
  printf("%02x ",sendBuf);
}
printf("\n");
离线dbzhang800

只看该作者 1楼 发表于: 2012-09-04
用 QextSerialPort 1.2-beta2 ,还有问题的话可以去报告一个bug
离线starter
只看该作者 2楼 发表于: 2012-09-04
我用的是qextserialport-1.2win-alpha     是在官网上下的、、
离线dbzhang800

只看该作者 3楼 发表于: 2012-09-04
引用第2楼starter于2012-09-04 17:11发表的  :
我用的是qextserialport-1.2win-alpha     是在官网上下的、、

换成beta2再试


https://code.google.com/p/qextserialport/
离线starter
只看该作者 4楼 发表于: 2012-09-04
顺便问一下windows和linux下分别应该用哪几个文件啊
离线starter
只看该作者 5楼 发表于: 2012-09-04
在VS2008上面编译有错error C2027: 使用了未定义类型“QextSerialPortPrivate”
相关头文件都已经加入工程了,到底是怎么回事啊?
离线dbzhang800

只看该作者 6楼 发表于: 2012-09-05
引用第4楼starter于2012-09-04 17:32发表的  :
顺便问一下windows和linux下分别应该用哪几个文件啊

这个应该不需要用户考虑,如果使用库,只需要关注头文件 qextserialport.h
如果直接编译程序中,直接在工程文件内 qextserialport.pri 就行了


工程在不同平台下(Linux/Windows/Mac)应该是完全一样的
离线dbzhang800

只看该作者 7楼 发表于: 2012-09-05
引用第5楼starter于2012-09-04 18:10发表的  :
在VS2008上面编译有错error C2027: 使用了未定义类型“QextSerialPortPrivate”
相关头文件都已经加入工程了,到底是怎么回事啊?

不清楚你具体是怎么做的,不过我买不起VS2008,所以不清楚那个Qt的给它的那个插件是否有BUG。


这个库在VC2008 express/VC2010 express 下应该是没问题的。


https://code.google.com/p/qextserialport/wiki/Three_Usage_Of_MOC
离线starter
只看该作者 8楼 发表于: 2012-09-05
引用第6楼dbzhang800于2012-09-05 08:24发表的  :
这个应该不需要用户考虑,如果使用库,只需要关注头文件 qextserialport.h
如果直接编译程序中,直接在工程文件内 qextserialport.pri 就行了
.......

加入pri后在linux上果然可以了,真是太感谢了!
离线zhxianbin
只看该作者 9楼 发表于: 2012-09-27
build/x86-qvfb-debug/moc_qextserialenumerator.cpp:58: error: 'class QextSerialEnumeratorPrivate' has no member named '_q_deviceEvent'

顺便问一下,这个错误怎么解决?
离线lacuss
只看该作者 10楼 发表于: 2012-11-05
回 3楼(dbzhang800) 的帖子
能帮我看下这个问题不?
http://www.qtcn.org/bbs/read-htm-tid-51559.html
初学真的很多不懂= =
谢啦
离线lacuss
只看该作者 11楼 发表于: 2012-11-05
楼主我的是windows的,能看下我的问题不~
http://www.qtcn.org/bbs/read-htm-tid-51559.html
初学真的很多不懂= =
谢啦
快速回复
限100 字节
 
上一个 下一个