From baeb1f4e196172d73055f8cb158a74599a3e0519 Mon Sep 17 00:00:00 2001 From: mhvhm <1308784381@qq.com> Date: Tue, 17 Sep 2024 22:55:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0can=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=9A=84=E9=83=A8=E5=88=86=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CanTool/app/CANThread/canthread.cpp | 6 +- CanTool/app/CANThread/canthread.h | 3 + CanTool/mainwindow.cpp | 21 ++++- CanTool/mainwindow.h | 1 + CanTool/mainwindow.ui | 140 ++++++++++++++-------------- 5 files changed, 97 insertions(+), 74 deletions(-) diff --git a/CanTool/app/CANThread/canthread.cpp b/CanTool/app/CANThread/canthread.cpp index d68afaf..9be0fab 100644 --- a/CanTool/app/CANThread/canthread.cpp +++ b/CanTool/app/CANThread/canthread.cpp @@ -2,7 +2,7 @@ CANThread::CANThread(QObject *parent) : QObject(parent) { - + qRegisterMetaType("CAN_x"); //注册 CAN_x 类型 } @@ -179,12 +179,12 @@ void CANThread::doThreadWork() while (1) { ret = VCI_Receive(m_canDeviceType, m_canDeviceIdx, CAN_1, data, CAN_RECV_BUF_SISE, 0); - if (ret != -1) + if (ret > 0) { emit recvFinished(data, ret, CAN_1); } ret = VCI_Receive(m_canDeviceType, m_canDeviceIdx, CAN_2, data, CAN_RECV_BUF_SISE, 0); - if (ret != -1) + if (ret > 0) { emit recvFinished(data, ret, CAN_2); } diff --git a/CanTool/app/CANThread/canthread.h b/CanTool/app/CANThread/canthread.h index 7c57790..89fa6d3 100644 --- a/CanTool/app/CANThread/canthread.h +++ b/CanTool/app/CANThread/canthread.h @@ -3,9 +3,12 @@ #include #include +#include #include "ControlCAN.h" +#define USE_SINGLE_CAN (1) + #define CAN_RECV_BUF_SISE (2500) typedef enum diff --git a/CanTool/mainwindow.cpp b/CanTool/mainwindow.cpp index b2c7aaa..da691aa 100644 --- a/CanTool/mainwindow.cpp +++ b/CanTool/mainwindow.cpp @@ -1,6 +1,22 @@ #include "mainwindow.h" #include "ui_mainwindow.h" +typedef enum +{ + DATA_TABLEWIDGET_IDX_NUM = 0, + DATA_TABLEWIDGET_IDX_DIR, + DATA_TABLEWIDGET_IDX_TIME, + DATA_TABLEWIDGET_IDX_STATUS, + DATA_TABLEWIDGET_IDX_NAME, + DATA_TABLEWIDGET_IDX_ID, + DATA_TABLEWIDGET_IDX_FORM, + DATA_TABLEWIDGET_IDX_TYPE, + DATA_TABLEWIDGET_IDX_DLC, + DATA_TABLEWIDGET_IDX_DATA, + DATA_TABLEWIDGET_IDX_ORI, + DATA_TABLEWIDGET_IDX_DETAIL, +}DATA_TABLEWIDGET_IDX; + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) @@ -154,6 +170,9 @@ void MainWindow::getCanRecvData(VCI_CAN_OBJ *data, DWORD retNum, CAN_x canChl) qDebug() << "<<>> <<<" << sender()->objectName() << ">>>"; for (DWORD i = 0; i < retNum; i++) { - + QByteArray byteArray(reinterpret_cast(data->Data), data->DataLen); + QString dataStr = byteArray.toHex(' '); + QTableWidgetItem *item = new QTableWidgetItem(dataStr); + ui->tableWidget_data->setItem(tableLine++, DATA_TABLEWIDGET_IDX_DATA, &item); } } diff --git a/CanTool/mainwindow.h b/CanTool/mainwindow.h index a3094aa..b651310 100644 --- a/CanTool/mainwindow.h +++ b/CanTool/mainwindow.h @@ -29,6 +29,7 @@ private: CANThread* can_drv; QThread* recvThread; bool isRolling = true; // 是否滚动显示 + uint32_t tableLine = 0; // 表格行号 void UI_OpenCanDevice(); diff --git a/CanTool/mainwindow.ui b/CanTool/mainwindow.ui index a9c8222..a18bc46 100644 --- a/CanTool/mainwindow.ui +++ b/CanTool/mainwindow.ui @@ -41,7 +41,7 @@ - 新建列 + 时间 @@ -56,7 +56,7 @@ - 新建列 + 帧ID @@ -66,12 +66,12 @@ - 新建列 + 类型 - 类型 + DLC @@ -99,68 +99,17 @@ 30 10 402 - 123 + 146 - + 20 - - - - - 0 - 0 - - - - 设备类型: - - - - - - - - 0 - 0 - - - - - USBCAN-2A - - - - - USBCAN-2C - - - - - CANalyst-II - - - - - - - - - 0 - 0 - - - - 设备索引: - - - @@ -241,19 +190,6 @@ - - - - - 0 - 0 - - - - 波特率: - - - @@ -324,6 +260,70 @@ + + + + + 0 + 0 + + + + 设备类型: + + + + + + + + 0 + 0 + + + + 设备索引: + + + + + + + + 0 + 0 + + + + 波特率: + + + + + + + + 0 + 0 + + + + + USBCAN-2A + + + + + USBCAN-2C + + + + + CANalyst-II + + + +