使用QT编写上位机软件,通过串口
通信 控制led灯开关;
2
楼主能不能详细一点使用说明,确实不太会用,辛苦楼主了
提交评论
学习学习
提交评论
其实使用QT和单片机进行串口通信还是很方便的;首先使用如下程序新建一个串口 currentport,然后设置基本参数,再通过SerialPortInfo.portName()获取被识别的串口(就像串口调试工具中的串口一样),最后使用CurrentPort->open(QIODevice ::ReadWrite)打开串口, 并建立一个关系,当串口接收到数据后,和函数readData1()联系在一起,通过函数connect(CurrentPort,SIGNAL(readyRead()),this,SLOT(ReadData1()))实现;
向串口写数据,CurrentPort->write(data1);单片机接收数据,根据收到的数据的值,决定LED灯的亮灭;
CurrentPort= new QSerialPort(this);
CurrentPort->setBaudRate(QSerialPort::Baud9600);
CurrentPort->setDataBits(QSerialPort::Data8);
CurrentPort->setParity(QSerialPort::NoParity);
CurrentPort->setFlowControl(QSerialPort::NoFlowControl);
CurrentPort->setStopBits(QSerialPort ::UnknownStopBits);
foreach(const QSerialPortInfo &SerialPortInfo,QSerialPortInfo ::availablePorts())
{
ui->CBox_Com->addItem(SerialPortInfo.portName());
}
//串口处理????
//QString OpenPort;
//OpenPort=ui->CBox_Com->currentText();
CurrentPort->setPortName(ui->CBox_Com->currentText());
if(CurrentPort->open(QIODevice ::ReadWrite))
ui->statusBar->showMessage("Successful open port");
else
ui->statusBar->showMessage("can't open port");
connect(CurrentPort,SIGNAL(readyRead()),this,SLOT(ReadData1()));
提交评论
李志博32 发表于 2016-9-20 19:42
其实使用QT和单片机进行串口通信还是很方便的;首先使用如下程序新建一个串口 currentport,然后设置基本参数,再通过SerialPortInfo.portName()获取被识别的串口(就像串口调试工具中的串口一样),最后使用CurrentPort->open(QIODevice ::ReadWrite)打开串口, 并建立一个关系,当串口接收到数据后,和函数readData ...
感谢楼主,自己再好好看一下
提交评论