| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #include "USB485_Ctrl.h"
- #include <QMessageBox>
- 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;
- }
- }
|