USB485_Ctrl.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include "USB485_Ctrl.h"
  2. #include <QMessageBox>
  3. Usb485_Ctrl::Usb485_Ctrl(QObject *parent) : QObject(parent)
  4. {
  5. }
  6. void Usb485_Ctrl::SerialPortInit()
  7. {
  8. Data_Ctrl::getData()->serialPort = new QSerialPort(this);//申请内存,并设置父对象
  9. }
  10. int Usb485_Ctrl::SeralPortCtrl(int nOpenClose)
  11. {
  12. if(nOpenClose==Seral_Close)
  13. {
  14. if(Data_Ctrl::getData()->serialPort->isOpen()) // 如果串口打开,则将其关闭
  15. {
  16. Data_Ctrl::getData()->serialPort->clear();
  17. Data_Ctrl::getData()->serialPort->close();
  18. return 0;
  19. }
  20. return 0;//未开启
  21. }else
  22. {
  23. //当前选择的串口名字
  24. Data_Ctrl::getData()->serialPort->setPortName(Data_Ctrl::getData()->m_strSelectUSBName);
  25. //用ReadWrite 的模式尝试打开串口,无法收发数据时,发出警告
  26. // 参数配置,波特率
  27. Data_Ctrl::getData()->serialPort->setBaudRate(Data_Ctrl::getData()->baudRate);
  28. // 校验位,校验默认选择无
  29. Data_Ctrl::getData()->serialPort->setParity(Data_Ctrl::getData()->checkBits);
  30. // 数据位,数据位默认选择8位
  31. Data_Ctrl::getData()->serialPort->setDataBits(Data_Ctrl::getData()->dataBits);
  32. // 停止位,停止位默认选择1位
  33. Data_Ctrl::getData()->serialPort->setStopBits(Data_Ctrl::getData()->stopBits);
  34. if(!Data_Ctrl::getData()->serialPort->open(QIODevice::ReadWrite))
  35. {
  36. return -1;
  37. }
  38. return 0;
  39. }
  40. }