#include "rt_tune.h"
#include "ui_rt_tune.h"
#include <QMessageBox>
#include <QDebug>
#include <QTime>
#include <iostream>
#include <QBrush>
#include <QHeaderView>
#include <QColor>
enum IsBufferMode {DummyHubMode,SingleCodeMode,AllCodeMode,GeneralHubMode }IsHubMode=GeneralHubMode;
long DUTid, gDUTid=0,ClassID,CommandCode;
int DUTPositionNum=1,SendPositionNum=0x55;
bool DUTidStatus=true;
//QByteArray SendString,sendData;
//long HUBC1=0x90,HUBC2=0x91,HUBC3=0x92;
enum DataName
{
// % 25 & ( )
GnIrh , RhFreq0 , Null0 ,QdnBatH ,QdnBatL ,
// * + ' - . 2E
TambSlp ,DataLg ,Null1 ,ReportE2 ,AlarmStep,
// / 2F 0 1 2 3
CPO , Null2 , Null3 , Null4 , Null5 ,
// 4 5 6 7 8
Null6 , Null7 , Null8 , Null9 , Null10 ,
// 9 : ; < 3C = 3D
Null11 , RHap , RHbp , TcoN , TcoRH0,
//> 3E ? 3F @
TcoP , CntRx, Report , //27
//upper case 'A' - 'Z'
RH ,TJambT ,QdnambTs ,Ath2 ,ZwGNK0 ,
/*F*/ QdRH ,Sn_MSB ,QdnVos ,Sn_LSB ,Qdn0 ,
/*K*/ ExtPCtrl ,TIbbTs ,AltiM ,QdnBpSet ,QdnA1 ,
/*P*/ CntR ,Qdn1 ,QdnA0 ,SLitOn ,SDLitOn,
/*U*/ CalcTime ,QdnB0 ,QdnB1 ,QdnBase ,READY ,
DUTversion,//25
// [' '\' ']' '^' '_'
CntRout ,Null12 ,Ucali ,dTinHeat ,GNKofB2,
//'`'
SLitOff ,//31 //59
//lower case 'a' - 'z' DUTparas:
/*a*/ Command ,Bth ,Cth ,QambBs ,QHBs,
/*f*/ AltiFt ,GNK ,AlarmScale ,SdPER ,IraAve ,
/*k*/ BatLow ,AOffset ,QdnBp ,Ira ,SADint ,
/*p*/ MeasHi ,DACscale ,CtrlFg ,AlarmKeep ,FTPOC ,
/*u*/ Cupdata ,Ira0 ,IraIn ,IraOut ,ZwGNK ,
//Null3->Cupdata
Pru ,//57 //0x7A
// '{' '|' '}' '~'
SDLitOff ,Yolanda, Nul13, SLtOff,
QdAp ,GNKofDU0 ,TJbbW ,PruLG ,Null14 ,
//GNKWstk to be del
Irm , CntV ,DB3Pt2 ,DB3Pt3 ,RVH ,
Null15 ,Null16 ,dTBath3R,QdRw,PruL2,
//0x8E
dTJbbscr ,EDN ,HUBC1,HUBC2,HUBC3,HUB4,
HUB5,HUB6,HUB7,HUB8,HUB9,
HUB10,HUB11,HUB12,HUB13,HUB14,Null17,Null18,
//switchHub address 0xA0~0xA2
PortD,PortE,PortPru
};//end of DataName
RT_Tune::RT_Tune(QWidget *parent) :
QDialog(parent),
ui(new Ui::RT_Tune)
{
ui->setupUi(this);
connect(&mySerial, &QSerialPort::readyRead, this, &RT_Tune::Read_Data, Qt::DirectConnection);
initialTableWidget();
FlashTimer = new QTimer(this);
OpenRS232();
// SendDUTparaToDUT(HUB13,0x0555);
Delay(1000);
// SendDUTparaToDUT(HUBC3,0x0155);
}
RT_Tune::~RT_Tune()
{
delete ui;
mySerial.close();
}
void RT_Tune::initialTableWidget()
{
QStringList V_header;
V_header<<" SN "<<" 温度"<<" 温度参数 "<<" 温度差异 "<<" 湿度"<<" 湿度参数 "<<" 湿度差异 ";
ui->DataTable->setVerticalHeaderLabels(V_header);
}
void RT_Tune::OpenRS232()
{
mySerial.close();
//设置串口名
mySerial.setPortName("COM3");
//设置波特率
mySerial.setBaudRate(QSerialPort::Baud19200);
//设置数据位数
mySerial.setDataBits(QSerialPort::Data8);
//设置奇偶校验
mySerial.setParity(QSerialPort::NoParity);
//设置停止位
mySerial.setStopBits(QSerialPort::OneStop);
//设置流控制
mySerial.setFlowControl(QSerialPort::FlowControl());
//打开串口
mySerial.open(QIODevice::ReadWrite);
if(mySerial.open(QIODevice::ReadWrite))
{
mySerial.setDataTerminalReady(true);
}
if(mySerial.isOpen()==true){
ui->StartBtn->setEnabled(true);
// connect(mySerial,QSerialPort::readyRead, this,RT_Tune::Read_Data);
// connect(&mySerial, &QSerialPort::readyRead, this, &RT_Tune::Read_Data);
}
else{//
QT5最有效的串口接收方式
最新推荐文章于 2024-06-24 12:18:35 发布