Linux-QT4.7 实现串口通信

来源:互联网 发布:淘宝我的小蜜是客服么 编辑:程序博客网 时间:2024/06/08 15:45

在qt5版本以下,想要实现串口通信需要两个集成类,posix_qextserialport 和 qextserialbase,需要的可以移步到 下载点。

在posix_qextserialport这个类中关于串口设置的定义很详细,常用的写法一般是

Posix_QextSerialPort * myCom;myCom->open(QIODevice::ReadWrite); // 定义打开方式myCom->setBaudRate(BAUD115200);    // 设置波特率myCom->setDataBits(DATA_8);        // 设置数据位myCom->setParity(PAR_NONE);        // 设置校验类型myCom->setStopBits(STOP_1);        // 设置停止位myCom->setFlowControl(FLOW_OFF);   myCom->setTimeout(50);             // 设置延时

有一点需要注意一下,linux系统的串口一般为/dev/ttyS* ,使用时需要加权限,默认是没有权限使用的。。

设计串口读取的思路一般是利用定时器QTimer类

利用timeout作为信号,readCOM作为槽函数,进行周期读取。

在实验中定时器的时间间隔一般需要大于等于串口的延时,否则会卡顿,具体原因,,,我还没弄懂,网上也没这方面的资料,,,可能以后随着经验变多会懂吧