|
本帖最后由 caoyun_87 于 2012-9-21 13:45 编辑
最近看到有人在愁如何在Qt下实现串口通信,这里我分享一下Qt下使用QExtSerialPort进行串口通信的流程。
写给新手们,老鸟直接绕过。
1.将QExtSerialPort的相关文件添加到工程目录。
2.包含头文件#include "QExtSerialPort/posix_qextserialport.h"
3.定义posix_qextserialport 对象,和接收计时器,接收缓冲
4.初始化串口
- void MainWindow::setupSerialPort()
- {
- serialPort.setPortName(DEFAULT_PORT); //#define DEFAULT_PORT "/dev/ttySAC2" 设置端口名
- serialPort.setBaudRate(DEFAULT_BAUD); //#define DEFAULT_BAUD BAUD38400 设置波特率
- serialPort.setDataBits(DATA_8);
- serialPort.setParity(PAR_NONE);
- serialPort.setStopBits(STOP_1);
- serialPort.setFlowControl(FLOW_OFF);
- serialPort.setTimeout(10);
- readTimer.setInterval(200);
- connect(&readTimer,SIGNAL(timeout()),this,SLOT(readCom()));
- readTimer.start();
- }
复制代码 5.编写接收槽函数
- void MainWindow::readCom()
- {
- QByteArray temp = serialPort.readAll();
- if(!temp.isEmpty())
- {
- for(int i = 0;i < temp.count();i++)
- {
- OnRecvChar(temp[i]); //自定义的处理函数
- }
- }
- }
复制代码
6.打开串口serialPort.open();
附件:QExtSerialPort相关文件。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|