|
@@ -1,5 +1,6 @@
|
|
|
#include "Line.h"
|
|
|
#include "ui_port.h"
|
|
|
+#include "file_md5.h"
|
|
|
#include <qsettings.h>
|
|
|
#include <qfiledialog.h>
|
|
|
#include <qtextstream.h>
|
|
@@ -166,17 +167,32 @@ Line::Line(QWidget *parent)
|
|
|
portui.setupUi(portdialog);
|
|
|
timerid=startTimer(280);
|
|
|
}
|
|
|
+void Line::textEdit_append(QString str_txt)
|
|
|
+{
|
|
|
+ //获取当前时间
|
|
|
+ QDateTime current_date_time = QDateTime::currentDateTime();
|
|
|
+ QString str = current_date_time.toString("yyyy-MM-dd hh:mm:ss.zzz ");
|
|
|
+ str.append(str_txt);
|
|
|
+ ui.textEdit->append(str);
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
void Line::SerialSend(QByteArray data)
|
|
|
{
|
|
|
- QString str;
|
|
|
+ // QString str;
|
|
|
if(myserial==NULL)
|
|
|
return;
|
|
|
if (myserial->isOpen())
|
|
|
{
|
|
|
myserial->write(data);
|
|
|
}
|
|
|
- str = QString::fromUtf8("TX: ");
|
|
|
+
|
|
|
+
|
|
|
+ //获取当前时间
|
|
|
+ QDateTime current_date_time = QDateTime::currentDateTime();
|
|
|
+ QString str = current_date_time.toString("yyyy-MM-dd hh:mm:ss.zzz ");
|
|
|
+ str.append("TX : ");
|
|
|
+ //str = QString::fromUtf8("TX: ");
|
|
|
str.append(data.toHex().toUpper());
|
|
|
ui.textEdit->append(str);
|
|
|
}
|
|
@@ -1826,7 +1842,11 @@ void Line::Write_RegVal()
|
|
|
void Line::portopen()
|
|
|
{
|
|
|
if(myserial==NULL)
|
|
|
- myserial = new QSerialPort();
|
|
|
+ {
|
|
|
+ myserial = new QSerialPort();
|
|
|
+ connect(myserial,SIGNAL(readyRead()),this,SLOT(Receive_Data()));
|
|
|
+ }
|
|
|
+
|
|
|
if (portui.comboBox == NULL)
|
|
|
return;
|
|
|
if (!portui.comboBox->count())
|
|
@@ -1848,47 +1868,53 @@ void Line::portopen()
|
|
|
qDebug("%s", portui.comboBox_5->currentText().toUtf8().data());
|
|
|
switch (portui.comboBox_3->currentIndex())
|
|
|
{
|
|
|
- case 0:
|
|
|
- myserial->setDataBits(QSerialPort::Data7);
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- default:
|
|
|
- myserial->setDataBits(QSerialPort::Data8);
|
|
|
- break;
|
|
|
+ case 0:
|
|
|
+ myserial->setDataBits(QSerialPort::Data7);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ default:
|
|
|
+ myserial->setDataBits(QSerialPort::Data8);
|
|
|
+ break;
|
|
|
}
|
|
|
switch (portui.comboBox_4->currentIndex())
|
|
|
{
|
|
|
- case 1:
|
|
|
- myserial->setStopBits(QSerialPort::TwoStop);
|
|
|
- break;
|
|
|
- case 0:
|
|
|
- default:
|
|
|
- myserial->setStopBits(QSerialPort::OneStop);
|
|
|
- break;
|
|
|
+ case 1:
|
|
|
+ myserial->setStopBits(QSerialPort::TwoStop);
|
|
|
+ break;
|
|
|
+ case 0:
|
|
|
+ default:
|
|
|
+ myserial->setStopBits(QSerialPort::OneStop);
|
|
|
+ break;
|
|
|
|
|
|
}
|
|
|
switch (portui.comboBox_5->currentIndex())
|
|
|
{
|
|
|
- case 1:
|
|
|
- myserial->setParity(QSerialPort::OddParity);
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- myserial->setParity(QSerialPort::EvenParity);
|
|
|
- break;
|
|
|
- case 0:
|
|
|
- default:
|
|
|
- myserial->setParity(QSerialPort::NoParity);
|
|
|
- break;
|
|
|
+ case 1:
|
|
|
+ myserial->setParity(QSerialPort::OddParity);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ myserial->setParity(QSerialPort::EvenParity);
|
|
|
+ break;
|
|
|
+ case 0:
|
|
|
+ default:
|
|
|
+ myserial->setParity(QSerialPort::NoParity);
|
|
|
+ break;
|
|
|
}
|
|
|
if (myserial->open(QIODevice::ReadWrite)==FALSE)
|
|
|
- qDebug("open error");
|
|
|
+ {
|
|
|
+ qDebug("open error");
|
|
|
+ textEdit_append("串口打开错误!\r\n");
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
//ui.menuBar->activeAction()->setIconText("xx");
|
|
|
//ui.menuBar->actions().at(1)->setText(QString::fromLocal8Bit("关闭"));
|
|
|
ui.menuBar->actions().at(1)->setText("关闭");
|
|
|
+
|
|
|
}
|
|
|
- connect(myserial,SIGNAL(readyRead()),this,SLOT(Receive_Data()));
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
sendflag=1;
|
|
|
}
|
|
|
|
|
@@ -2046,7 +2072,7 @@ void Line::Receive_Data()
|
|
|
unsigned int int_val;
|
|
|
float f_val;
|
|
|
char *p_f;
|
|
|
- QString str;
|
|
|
+ //QString str;
|
|
|
QByteArray tt;
|
|
|
QString send_buf;
|
|
|
unsigned char message_type=0;
|
|
@@ -2130,8 +2156,10 @@ void Line::Receive_Data()
|
|
|
return;
|
|
|
}
|
|
|
#endif
|
|
|
- str = QString::fromUtf8("RX: ");
|
|
|
-
|
|
|
+ //str = QString::fromUtf8("RX: ");
|
|
|
+ QDateTime current_date_time = QDateTime::currentDateTime();
|
|
|
+ QString str = current_date_time.toString("yyyy-MM-dd hh:mm:ss.zzz ");
|
|
|
+ str.append("RX : ");
|
|
|
|
|
|
#if 0
|
|
|
for (i = 0; i < q.count(); ++i)
|
|
@@ -3102,12 +3130,12 @@ QString Line::getcomm(int index, QString keyorvalue)
|
|
|
valuesize = sizeof(keyvalue);
|
|
|
if (::RegEnumValue(hKey, indexnum, keyname, (LPDWORD)&keysize, 0, &type, (BYTE*)keyvalue, &valuesize) == 0)//列举键名和值
|
|
|
{
|
|
|
- for (int i = 0; i<keysize; i++)
|
|
|
+ for (DWORD i = 0; i<keysize; i++)
|
|
|
{
|
|
|
message = keyname[i];
|
|
|
keymessage.append(message);
|
|
|
}//for(inti=0;i<=keysize;i++) 读取键名
|
|
|
- for (int j = 0; j<valuesize; j++)
|
|
|
+ for (DWORD j = 0; j<valuesize; j++)
|
|
|
{
|
|
|
if (keyvalue[j] != 0x00)
|
|
|
{
|
|
@@ -3378,3 +3406,26 @@ int Line::xmodemTransmit(unsigned char *src, int srcsz)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+void Line::on_pushButton_clicked()
|
|
|
+{
|
|
|
+ ui.textEdit->clear();
|
|
|
+}
|
|
|
+
|
|
|
+void Line::on_pushButton_2_clicked()
|
|
|
+{
|
|
|
+ //ui.file_name_Edit
|
|
|
+ QString fileName = QFileDialog::getOpenFileName(this, tr("选择文件"), "D:\\", tr("*.bin"));
|
|
|
+ //int n;
|
|
|
+ if (!fileName.isEmpty())
|
|
|
+ {
|
|
|
+ ui.file_name_Edit->setText(fileName);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+void Line::on_pushButton_md5_clicked()
|
|
|
+{
|
|
|
+ QString fileName = ui.file_name_Edit->text();
|
|
|
+ file_md5(fileName);
|
|
|
+}
|