#include "USB485_Ctrl.h" #include Usb485_Ctrl::Usb485_Ctrl(QObject *parent) : QObject(parent) { } void Usb485_Ctrl::SerialPortInit() { Data_Ctrl::getData()->serialPort = new QSerialPort(this);//申请内存,并设置父对象 } int Usb485_Ctrl::SeralPortCtrl(int nOpenClose) { if(nOpenClose==Seral_Close) { if(Data_Ctrl::getData()->serialPort->isOpen()) // 如果串口打开,则将其关闭 { Data_Ctrl::getData()->serialPort->clear(); Data_Ctrl::getData()->serialPort->close(); return 0; } return 0;//未开启 }else { //当前选择的串口名字 Data_Ctrl::getData()->serialPort->setPortName(Data_Ctrl::getData()->m_strSelectUSBName); //用ReadWrite 的模式尝试打开串口,无法收发数据时,发出警告 // 参数配置,波特率 Data_Ctrl::getData()->serialPort->setBaudRate(Data_Ctrl::getData()->baudRate); // 校验位,校验默认选择无 Data_Ctrl::getData()->serialPort->setParity(Data_Ctrl::getData()->checkBits); // 数据位,数据位默认选择8位 Data_Ctrl::getData()->serialPort->setDataBits(Data_Ctrl::getData()->dataBits); // 停止位,停止位默认选择1位 Data_Ctrl::getData()->serialPort->setStopBits(Data_Ctrl::getData()->stopBits); if(!Data_Ctrl::getData()->serialPort->open(QIODevice::ReadWrite)) { return -1; } return 0; } }