├── .gitignore
├── logo.rc
├── logo.ico
├── 虚拟串口工具
├── VSPD.zip
└── VSPD
│ ├── snd.nfo
│ ├── vspd.exe
│ ├── 软件下载.txt
│ └── Cracked
│ ├── vspdctl.dll
│ └── vspdconfig.exe
├── res.qrc
├── main.cpp
├── uart_setting.h
├── MySerial.pro
├── README.md
├── uart_interaction.h
├── uart_core.h
├── uart_setting.cpp
├── uart_core.cpp
├── user_interaction.cpp
├── uart_setting.ui
├── MySerial_zh_CN.ts
└── uart_interface.ui
/.gitignore:
--------------------------------------------------------------------------------
1 | *.user
2 | *.qm
3 |
--------------------------------------------------------------------------------
/logo.rc:
--------------------------------------------------------------------------------
1 | IDI_ICON1 ICON DISCARDABLE "logo.ico"
--------------------------------------------------------------------------------
/logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weiqifa0/qtSerial/HEAD/logo.ico
--------------------------------------------------------------------------------
/虚拟串口工具/VSPD.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weiqifa0/qtSerial/HEAD/虚拟串口工具/VSPD.zip
--------------------------------------------------------------------------------
/虚拟串口工具/VSPD/snd.nfo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weiqifa0/qtSerial/HEAD/虚拟串口工具/VSPD/snd.nfo
--------------------------------------------------------------------------------
/虚拟串口工具/VSPD/vspd.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weiqifa0/qtSerial/HEAD/虚拟串口工具/VSPD/vspd.exe
--------------------------------------------------------------------------------
/虚拟串口工具/VSPD/软件下载.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weiqifa0/qtSerial/HEAD/虚拟串口工具/VSPD/软件下载.txt
--------------------------------------------------------------------------------
/虚拟串口工具/VSPD/Cracked/vspdctl.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weiqifa0/qtSerial/HEAD/虚拟串口工具/VSPD/Cracked/vspdctl.dll
--------------------------------------------------------------------------------
/虚拟串口工具/VSPD/Cracked/vspdconfig.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weiqifa0/qtSerial/HEAD/虚拟串口工具/VSPD/Cracked/vspdconfig.exe
--------------------------------------------------------------------------------
/res.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | logo.ico
4 |
5 |
6 |
--------------------------------------------------------------------------------
/main.cpp:
--------------------------------------------------------------------------------
1 | #include "uart_interaction.h"
2 | #include
3 | #include
4 |
5 | int main(int argc, char *argv[])
6 | {
7 | QApplication a(argc, argv);
8 | QTranslator translator;
9 | translator.load("./MySerial_zh_CN.qm");
10 | a.installTranslator(&translator);
11 |
12 | serial w;
13 | w.show();
14 |
15 | return a.exec();
16 | }
17 |
--------------------------------------------------------------------------------
/uart_setting.h:
--------------------------------------------------------------------------------
1 | #ifndef SETTING_H
2 | #define SETTING_H
3 |
4 | #include
5 | #include "uart_core.h"
6 |
7 | namespace Ui {
8 | class setting;
9 | }
10 |
11 | class setting : public QDialog
12 | {
13 | Q_OBJECT
14 |
15 | public:
16 | explicit setting(QWidget *parent = 0);
17 | void find_available_serial_ports_and_add(Uartcore* m_serial_);
18 | ~setting();
19 |
20 | private slots:
21 | void on_buttonBox_accepted();
22 |
23 | private:
24 | Ui::setting *ui;
25 | Uartcore *uart_core_;
26 | };
27 |
28 | #endif // SETTING_H
29 |
--------------------------------------------------------------------------------
/MySerial.pro:
--------------------------------------------------------------------------------
1 | #-------------------------------------------------
2 | #
3 | # Project created by QtCreator 2022-01-20T22:04:57
4 | #
5 | #-------------------------------------------------
6 |
7 | QT += core gui serialport
8 |
9 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
10 |
11 | CONFIG += c++11
12 | TARGET = MySerial
13 | TEMPLATE = app
14 |
15 |
16 | SOURCES += main.cpp\
17 | user_interaction.cpp \
18 | uart_setting.cpp \
19 | uart_core.cpp
20 |
21 | HEADERS += \
22 | uart_core.h \
23 | uart_setting.h \
24 | uart_interaction.h
25 |
26 | FORMS += \
27 | uart_interface.ui \
28 | uart_setting.ui
29 |
30 | TRANSLATIONS += \
31 | MySerial_zh_CN.ts
32 |
33 | DISTFILES += \
34 | MySerial_zh_CN.qm
35 |
36 | RC_FILE = logo.rc
37 |
38 | # Default rules for deployment.
39 | qnx: target.path = /tmp/$${TARGET}/bin
40 | else: unix:!android: target.path = /opt/$${TARGET}/bin
41 | !isEmpty(target.path): INSTALLS += target
42 |
43 | RESOURCES += \
44 | res.qrc
45 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # qtSerial
2 | 【软件下载】
3 | 这个是最新的版本,功能目前比较简单,能够做到显示信息接收。
4 | https://github.com/weiqifa0/qtSerial/releases/tag/v1.1.4
5 |
6 |
7 | master分支有一个基础例程
8 | main 分支是软件的代码分支
9 |
10 | # QT软件和资料下载地址
11 | 可以用下面的QT工具来编译这个项目,当然,有人想提交修改的也没问题。
12 | ```C
13 | 软件和入门手册下载地址 链接:https://pan.baidu.com/s/1VvDjzhCNjPR8xcRHOUfYgg?pwd=9999 提取码:9999
14 | ```
15 |
16 | # 软件界面图片
17 | ### 更新了软件logo和界面
18 | 
19 |
20 | 
21 |
22 | ### 更新解决波特率设置成1500000阻塞UI的问题
23 | 
24 |
25 | ### 在ubuntu上编译的工具截图
26 | 
27 |
28 |
29 |
30 | # 开发功能介绍
31 |
32 | * 接收显示框,默认一个比较淡的护眼色 —— 已完成
33 | * 发送数据框—— 已完成
34 | * 串口设置—— 已完成
35 | * 状态栏、串口连接、发送、接收数据显示—— 已完成
36 | * 日志dump到文件—— 未完成
37 | * 定时发送—— 未完成
38 | * 清空发送、接收框—— 已完成
39 | * 时间戳显示—— 已完成
40 |
--------------------------------------------------------------------------------
/uart_interaction.h:
--------------------------------------------------------------------------------
1 | #ifndef SERIAL_H
2 | #define SERIAL_H
3 |
4 | #include
5 | #include "uart_core.h"
6 | #include "qserialport.h"
7 |
8 | namespace Ui {
9 | class serial;
10 | }
11 |
12 | class serial : public QMainWindow
13 | {
14 | Q_OBJECT
15 |
16 | #define NO_SERIAL_PORT tr("No Available Serial Port")
17 |
18 | public:
19 | explicit serial(QWidget *parent = 0);
20 | ~serial();
21 |
22 | private slots:
23 | void on_refreshButton_clicked();
24 | void on_openPortButton_clicked();
25 | void on_sendButton_clicked();
26 | void readSerialData();
27 | void on_clearTextButton_clicked();
28 | void on_actionExit_triggered();
29 | void on_openPortButton_3_clicked();
30 | void on_portComboBox_activated(const QString &arg1);
31 |
32 | private:
33 | void show_text(const QString &text);
34 | void status_bar_initialization();
35 | private:
36 | Ui::serial *ui;
37 | Uartcore *uart_core_;
38 | QLabel* rx_display_;
39 | QLabel* tx_display_;
40 | QLabel* connect_display_;
41 | qint64 rx_quantity_ = 0;
42 | qint64 tx_quantity_ = 0;
43 | bool is_the_serial_port_open_ = false;
44 | };
45 |
46 | #endif // SERIAL_H
47 |
--------------------------------------------------------------------------------
/uart_core.h:
--------------------------------------------------------------------------------
1 | #ifndef UARTCORE_H
2 | #define UARTCORE_H
3 | #include
4 | #include
5 | #include
6 | #include
7 | #include
8 |
9 | #include
10 | #include
11 | #include
12 |
13 | namespace patch
14 | {
15 | template < typename T > std::string to_string( const T& n )
16 | {
17 | std::ostringstream stm ;
18 | stm << n ;
19 | return stm.str() ;
20 | }
21 | }
22 |
23 |
24 | class Uartcore:public QObject
25 | {
26 | Q_OBJECT
27 |
28 | public:
29 | Uartcore();
30 | QStringList serial_port_scanning();
31 | bool open(QString serialName, int baudRate, int data_bit, int parity_bit, int stop_bit, int flow_control);
32 | void close();
33 | void send_data(QByteArray &data);
34 | QByteArray get_data_buffer_content();
35 | void clear_data_buffer_content();
36 | QByteArray hex_string_to_bytearray(QString HexString);
37 |
38 | public:
39 | QString serial_name_;
40 | int baud_rate_ = 115200;
41 | int data_bits_ = 8;
42 | int parity_bits_ = 0;
43 | int stop_bits_ = 1;
44 | int flow_control_ = 0;
45 |
46 | signals:
47 | void read_signal();
48 |
49 | public slots:
50 | void read_lower_computer_dataer_computer_dataer_computer_data();
51 |
52 | private:
53 | QSerialPort *serial_port_ = nullptr;
54 | QByteArray serial_buff_;
55 | };
56 | #endif // UARTCORE_H
57 |
58 |
--------------------------------------------------------------------------------
/uart_setting.cpp:
--------------------------------------------------------------------------------
1 | #include "uart_setting.h"
2 | #include "uart_interaction.h"
3 | #include "ui_uart_setting.h"
4 |
5 | setting::setting(QWidget *parent) :
6 | QDialog(parent),
7 | ui(new Ui::setting){
8 | ui->setupUi(this);
9 | }
10 |
11 | void setting::find_available_serial_ports_and_add(Uartcore* serial_core) {
12 | uart_core_ = serial_core;
13 | QStringList serialStrList;
14 | serialStrList = uart_core_->serial_port_scanning();
15 | for (int i=0; icomComboBox->addItem(serialStrList[i]); // 在comboBox那添加串口号
17 | }
18 | }
19 |
20 | setting::~setting(){
21 | delete ui;
22 | }
23 |
24 | void setting::on_buttonBox_accepted(){
25 | uart_core_->serial_name_ = ui->comComboBox->currentText();
26 | uart_core_->baud_rate_ = ui->baudComboBox->currentText().toInt();
27 | uart_core_->data_bits_ = ui->bitComboBox->currentText().toInt();
28 | uart_core_->parity_bits_ = ui->parityComboBox->currentText().toInt();
29 | uart_core_->stop_bits_ = ui->stopComboBox->currentText().toInt();
30 | uart_core_->flow_control_ = ui->flowctrComboBox->currentText().toInt();
31 | qDebug()<< "serial_name_:" <serial_name_;
32 | qDebug()<< "baud_rate_:" <baud_rate_;
33 | qDebug()<< "data_bits_:" <data_bits_;
34 | qDebug()<< "parity_bits_:" <parity_bits_;
35 | qDebug()<< "stop_bits_:" <stop_bits_;
36 | qDebug()<< "flow_control_:" <flow_control_;
37 | }
38 |
39 |
--------------------------------------------------------------------------------
/uart_core.cpp:
--------------------------------------------------------------------------------
1 | #include "uart_core.h"
2 |
3 | Uartcore::Uartcore(){
4 | serial_port_ = new QSerialPort;
5 | }
6 |
7 | // 扫描可用串口
8 | QStringList Uartcore::serial_port_scanning() {
9 | QStringList serialStrList;
10 | foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts()){
11 | serial_port_->setPort(info);
12 | // 判断端口能否以读写方式打开
13 | if(serial_port_->open(QIODevice::ReadWrite)){
14 | serialStrList.append(serial_port_->portName());
15 | // 然后自动关闭等待人为开启(通过"打开串口按钮")
16 | serial_port_->close();
17 | }
18 | }
19 | return serialStrList;
20 | }
21 |
22 | // 打开串口
23 | bool Uartcore::open(QString serialName, int baudRate, int data_bit, int parity_bit, int stop_bit, int flow_control) {
24 | serial_port_->setPortName(serialName);
25 | if (serial_port_->open(QIODevice::ReadWrite)) {
26 | serial_port_->setBaudRate(baudRate);
27 | serial_port_->setDataBits((QSerialPort::DataBits)data_bit );
28 | serial_port_->setParity((QSerialPort::Parity)parity_bit );
29 | serial_port_->setStopBits((QSerialPort::StopBits)stop_bit );
30 | serial_port_->setFlowControl((QSerialPort::FlowControl)flow_control );
31 | serial_port_->setReadBufferSize(0);//設置緩衝區大小為無窮大
32 | connect(serial_port_, SIGNAL(readyRead()), this, SLOT(read_lower_computer_dataer_computer_dataer_computer_data()));
33 | connect(serial_port_, SIGNAL(readyRead()), this, SIGNAL(read_signal()));
34 | return true;
35 | }
36 |
37 | return false;
38 | }
39 |
40 | // 关闭串口
41 | void Uartcore::close() {
42 | serial_port_->clear();
43 | serial_port_->close();
44 | }
45 |
46 | // 发送数据给下位机
47 | void Uartcore::send_data(QByteArray &data){
48 | serial_port_->write(data);
49 | }
50 |
51 | // 读取下位机发来数据
52 | void Uartcore::read_lower_computer_dataer_computer_dataer_computer_data() {
53 | serial_buff_ = serial_port_->readAll();
54 | }
55 |
56 | // 获得读取数据缓冲区
57 | QByteArray Uartcore::get_data_buffer_content() {
58 | return serial_buff_;
59 | }
60 |
61 | void Uartcore::clear_data_buffer_content(){
62 | serial_buff_.clear();
63 | }
64 |
65 | QByteArray Uartcore::hex_string_to_bytearray(QString HexString)
66 | {
67 | bool ok;
68 | QByteArray data;
69 | HexString = HexString.trimmed();
70 | HexString = HexString.simplified();
71 | QStringList sl = HexString.split(" ");
72 |
73 | foreach (QString s, sl){
74 | if(!s.isEmpty()){
75 | char c = static_cast(s.toInt(&ok, 16) & 0xFF);
76 | if(ok){
77 | data.append(c);
78 | } else {
79 | QMessageBox::warning(nullptr, tr("Error: "),
80 | QString(tr("Illegal hex string:"))+ QString(" \"%1\"").arg(s));
81 | }
82 | }
83 | }
84 | return data;
85 | }
86 |
87 |
--------------------------------------------------------------------------------
/user_interaction.cpp:
--------------------------------------------------------------------------------
1 | #include "uart_interaction.h"
2 | #include "uart_setting.h"
3 | #include "ui_uart_interface.h"
4 |
5 | serial::serial(QWidget *parent) :
6 | QMainWindow(parent),
7 | ui(new Ui::serial){
8 | ui->setupUi(this);
9 | ui->retranslateUi(this);
10 |
11 | // 初始化串口
12 | uart_core_ = new Uartcore;
13 |
14 | // 寻找可用串口
15 | QStringList serialStrList;
16 | serialStrList = uart_core_->serial_port_scanning();
17 | for (int i=0; iportComboBox->addItem(serialStrList[i]); // 在comboBox那添加串口号
19 | }
20 |
21 | // 默认设置波特率为115200(第5项)
22 | ui->baudComboBox->setCurrentIndex(5);
23 | // 当下位机中有数据发送过来时就会响应这个槽函数
24 | connect(uart_core_, SIGNAL(read_signal()), this, SLOT(readSerialData()));
25 |
26 | status_bar_initialization();
27 |
28 | ui->recvBrowser->setStyleSheet("background-color: rgb(204, 232, 207);");
29 | }
30 |
31 | serial::~serial(){
32 | delete ui;
33 | }
34 |
35 | void serial::status_bar_initialization(){
36 | QStatusBar* bar = ui->statusBar;
37 | rx_display_ = new QLabel;
38 | rx_display_->setMinimumSize(300,20);
39 | rx_display_->setFrameShape(QFrame::NoFrame);
40 | rx_display_->setFrameShadow(QFrame::Plain);
41 | rx_display_->setText(tr("RX")+": 0");
42 | rx_display_->setStyleSheet("QLabel { color : black; }");
43 |
44 | tx_display_ = new QLabel;
45 | tx_display_->setMinimumSize(300,20);
46 | tx_display_->setFrameShape(QFrame::NoFrame);
47 | tx_display_->setFrameShadow(QFrame::Plain);
48 | tx_display_->setText((tr("TX") + ": 0"));
49 | tx_display_->setStyleSheet("QLabel { color : black; }");
50 |
51 | connect_display_ = new QLabel;
52 | connect_display_->setMinimumSize(300,20);
53 | connect_display_->setFrameShape(QFrame::NoFrame);
54 | connect_display_->setFrameShadow(QFrame::Plain);
55 | connect_display_->setText(tr("Serial Port not connect"));
56 | connect_display_->setStyleSheet("QLabel { color : black; }");
57 |
58 | bar->addWidget(connect_display_);
59 | bar->addWidget(rx_display_);
60 | bar->addWidget(tx_display_);
61 | }
62 |
63 | void serial::on_refreshButton_clicked() {
64 | QStringList serialStrList;
65 | serialStrList = uart_core_->serial_port_scanning();
66 | ui->portComboBox->clear();
67 | for (int i=0; iportComboBox->addItem(serialStrList[i]);
69 | }
70 | }
71 |
72 | void serial::on_openPortButton_clicked() {
73 | if (ui->portComboBox->currentText().isEmpty()) {
74 | show_text(NO_SERIAL_PORT);
75 | return;
76 | }
77 | if(is_the_serial_port_open_ == false) {
78 | if(uart_core_->open(ui->portComboBox->currentText(),
79 | ui->baudComboBox->currentText().toInt(),
80 | uart_core_->data_bits_,
81 | uart_core_->parity_bits_,
82 | uart_core_->stop_bits_,
83 | uart_core_->flow_control_)) {
84 | // 关闭下拉列表使能
85 | ui->portComboBox->setEnabled(false);
86 | ui->baudComboBox->setEnabled(false);
87 | ui->refreshButton->setEnabled(false);
88 | ui->openPortButton_3->setEnabled(false);
89 | // 修改按钮名称
90 | ui->openPortButton->setText(tr("Close Port"));
91 | connect_display_->setText(tr("Port already opended"));
92 | connect_display_->setStyleSheet("QLabel { color : green; }");
93 |
94 | is_the_serial_port_open_ = true;
95 | }
96 | } else {
97 | // 关闭串口
98 | uart_core_->close();
99 | // 重新开启下拉列表使能
100 | ui->portComboBox->setEnabled(true);
101 | ui->baudComboBox->setEnabled(true);
102 | ui->refreshButton->setEnabled(true);
103 | ui->openPortButton_3->setEnabled(true);
104 | // 恢复按钮名称
105 | ui->openPortButton->setText(tr("Open Port"));
106 | connect_display_->setText(tr("Port already Closed"));
107 | connect_display_->setStyleSheet("QLabel { color : black; }");
108 |
109 | is_the_serial_port_open_ = false;
110 | }
111 | }
112 |
113 | void serial::on_sendButton_clicked(){
114 | QByteArray send_data;
115 | send_data = ui->sendTextEdit->toPlainText().toLatin1();
116 | if (ui->hexSendCheckBox->checkState()){
117 | send_data = uart_core_->hex_string_to_bytearray(send_data);
118 | }
119 |
120 | if (ui->checkBox_5->checkState()) {
121 | send_data += "\r\n";
122 | }
123 |
124 | if (send_data.length() <= 0) {
125 | ui->recvBrowser->append(tr("input error"));
126 | return;
127 | }
128 |
129 | tx_quantity_ += send_data.length();
130 | tx_display_->setText(tr("TX:")+QString::number(tx_quantity_,10));
131 | uart_core_->send_data(send_data);
132 | }
133 |
134 | void serial::show_text(const QString &text){
135 | ui->recvBrowser->insertPlainText(text+"\n");
136 | }
137 |
138 | // 读取从自定义串口类获得的数据
139 | void serial::readSerialData() {
140 | //ui->recvTextEdit->moveCursor(QTextCursor::End);
141 | qDebug() << uart_core_->get_data_buffer_content().length();
142 | qDebug() << uart_core_->get_data_buffer_content();
143 | if(ui->hexRecvCheckBox->checkState()){
144 | ui->recvBrowser->append(uart_core_->get_data_buffer_content().toHex());
145 | }else{
146 | ui->recvBrowser->append(uart_core_->get_data_buffer_content());
147 | }
148 | rx_quantity_ += uart_core_->get_data_buffer_content().length();
149 | rx_display_->setText(tr("RX")+": "+QString::number(rx_quantity_,10));
150 | //ui->recvBrowser->moveCursor(QTextCursor::End); // 在末尾移动光标一格
151 |
152 | uart_core_->clear_data_buffer_content();
153 | }
154 |
155 | void serial::on_clearTextButton_clicked(){
156 | ui->recvBrowser->clear();
157 | ui->recvBrowser->moveCursor(QTextCursor::Start);
158 | ui->sendTextEdit->clear();
159 | }
160 |
161 | void serial::on_actionExit_triggered(){
162 | QApplication* app = qApp;
163 | app->exit(0);
164 | }
165 |
166 | void serial::on_openPortButton_3_clicked(){
167 | setting param;
168 | param.find_available_serial_ports_and_add(uart_core_);
169 | param.exec();
170 |
171 | if(!uart_core_->serial_name_.isEmpty()){
172 | ui->portComboBox->setCurrentText(uart_core_->serial_name_);
173 | }
174 |
175 | if(uart_core_->baud_rate_ > 0){
176 | ui->baudComboBox->setCurrentText(QString::number(uart_core_->baud_rate_)) ;
177 | }
178 | }
179 |
180 | void serial::on_portComboBox_activated(const QString &arg1){
181 | uart_core_->serial_name_ = arg1;
182 | }
183 |
--------------------------------------------------------------------------------
/uart_setting.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | setting
4 |
5 |
6 |
7 | 0
8 | 0
9 | 508
10 | 585
11 |
12 |
13 |
14 | Dialog
15 |
16 |
17 |
18 |
19 | 110
20 | 510
21 | 281
22 | 71
23 |
24 |
25 |
26 | Qt::Horizontal
27 |
28 |
29 | QDialogButtonBox::Cancel|QDialogButtonBox::Ok
30 |
31 |
32 |
33 |
34 |
35 | 220
36 | 120
37 | 271
38 | 57
39 |
40 |
41 |
42 |
43 | 0
44 | 0
45 |
46 |
47 | -
48 |
49 | 4800
50 |
51 |
52 | -
53 |
54 | 9600
55 |
56 |
57 | -
58 |
59 | 19200
60 |
61 |
62 | -
63 |
64 | 38400
65 |
66 |
67 | -
68 |
69 | 57600
70 |
71 |
72 | -
73 |
74 | 115200
75 |
76 |
77 | -
78 |
79 | 128000
80 |
81 |
82 | -
83 |
84 | 256000
85 |
86 |
87 | -
88 |
89 | 921600
90 |
91 |
92 | -
93 |
94 | 1500000
95 |
96 |
97 |
98 |
99 |
100 |
101 | 220
102 | 190
103 | 271
104 | 57
105 |
106 |
107 |
108 |
109 | 0
110 | 0
111 |
112 |
113 | -
114 |
115 | 5
116 |
117 |
118 | -
119 |
120 | 6
121 |
122 |
123 | -
124 |
125 | 7
126 |
127 |
128 | -
129 |
130 | 8
131 |
132 |
133 |
134 |
135 |
136 |
137 | 220
138 | 270
139 | 271
140 | 57
141 |
142 |
143 |
144 |
145 | 0
146 | 0
147 |
148 |
149 | -
150 |
151 | 1
152 |
153 |
154 | -
155 |
156 | 2
157 |
158 |
159 | -
160 |
161 | 3
162 |
163 |
164 |
165 |
166 |
167 |
168 | 220
169 | 340
170 | 271
171 | 57
172 |
173 |
174 |
175 |
176 | 0
177 | 0
178 |
179 |
180 | -
181 |
182 | 0
183 |
184 |
185 | -
186 |
187 | 2
188 |
189 |
190 | -
191 |
192 | 3
193 |
194 |
195 | -
196 |
197 | 4
198 |
199 |
200 | -
201 |
202 | 5
203 |
204 |
205 |
206 |
207 |
208 |
209 | 220
210 | 410
211 | 271
212 | 57
213 |
214 |
215 |
216 |
217 | 0
218 | 0
219 |
220 |
221 | -
222 |
223 | 0
224 |
225 |
226 | -
227 |
228 | 1
229 |
230 |
231 | -
232 |
233 | 2
234 |
235 |
236 |
237 |
238 |
239 |
240 | 220
241 | 50
242 | 271
243 | 57
244 |
245 |
246 |
247 |
248 | 0
249 | 0
250 |
251 |
252 |
253 |
254 |
255 |
256 | 30
257 | 60
258 | 135
259 | 30
260 |
261 |
262 |
263 | Port
264 |
265 |
266 |
267 |
268 |
269 | 30
270 | 130
271 | 135
272 | 30
273 |
274 |
275 |
276 | Band Rate
277 |
278 |
279 |
280 |
281 |
282 | 30
283 | 200
284 | 135
285 | 30
286 |
287 |
288 |
289 | Data Bits
290 |
291 |
292 |
293 |
294 |
295 | 30
296 | 280
297 | 135
298 | 30
299 |
300 |
301 |
302 | Stop Bits
303 |
304 |
305 |
306 |
307 |
308 | 30
309 | 360
310 | 181
311 | 30
312 |
313 |
314 |
315 | Parity Bits
316 |
317 |
318 |
319 |
320 |
321 | 30
322 | 430
323 | 181
324 | 30
325 |
326 |
327 |
328 | Flow Control
329 |
330 |
331 |
332 |
333 |
334 |
335 | buttonBox
336 | accepted()
337 | setting
338 | accept()
339 |
340 |
341 | 248
342 | 254
343 |
344 |
345 | 157
346 | 274
347 |
348 |
349 |
350 |
351 | buttonBox
352 | rejected()
353 | setting
354 | reject()
355 |
356 |
357 | 316
358 | 260
359 |
360 |
361 | 286
362 | 274
363 |
364 |
365 |
366 |
367 |
368 |
--------------------------------------------------------------------------------
/MySerial_zh_CN.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Uartcore
6 |
7 |
8 | Error:
9 | Error:
10 | 错误:
11 |
12 |
13 |
14 | Illegal hex string:
15 | 非法的16进制字符串:
16 |
17 |
18 |
19 | serial
20 |
21 |
22 | serial
23 | Title
24 | 串口调试工具
25 |
26 |
27 |
28 | Refresh
29 | 刷新设备
30 |
31 |
32 |
33 | 4800
34 |
35 |
36 |
37 |
38 | 9600
39 |
40 |
41 |
42 |
43 | 19200
44 |
45 |
46 |
47 |
48 | 38400
49 |
50 |
51 |
52 |
53 | 57600
54 |
55 |
56 |
57 |
58 | 115200
59 |
60 |
61 |
62 |
63 | 128000
64 |
65 |
66 |
67 |
68 | 256000
69 |
70 |
71 |
72 |
73 | 921600
74 |
75 |
76 |
77 |
78 | 1500000
79 |
80 |
81 |
82 | BaudRate
83 | 波特率
84 |
85 |
86 |
87 | More Serial Port Setting
88 | 更多串口设置
89 |
90 |
91 |
92 |
93 | Open Port
94 | Open
95 | 打开串口
96 |
97 |
98 |
99 | Clear Text
100 | 清除显示
101 |
102 |
103 |
104 | Send
105 | 发送
106 |
107 |
108 |
109 | Timer
110 | 定时发送
111 |
112 |
113 |
114 | Save Files
115 | 保存文件
116 |
117 |
118 |
119 | Send with LFCR
120 | 发送以LFCR结尾
121 |
122 |
123 |
124 | About
125 | 关于
126 |
127 |
128 |
129 | Menu
130 | 菜单
131 |
132 |
133 |
134 | Preferences
135 | 首选项
136 |
137 |
138 |
139 | Exit
140 | 退出
141 |
142 |
143 |
144 | Licences
145 | 许可证
146 |
147 |
148 |
149 | Distributers
150 | 贡献者
151 |
152 |
153 |
154 | Hex Send
155 | Hex发送
156 | 十六进制发送
157 |
158 |
159 |
160 | Hex Show
161 | Hex显示
162 | 十六进制显示
163 |
164 |
165 |
166 | 1000
167 |
168 |
169 |
170 |
171 | ms
172 | ms/次
173 | ms
174 |
175 |
176 |
177 |
178 | RX
179 | 接收
180 |
181 |
182 |
183 | TX
184 | 发送
185 |
186 |
187 |
188 | Serial Port not connect
189 | 串口未连接
190 |
191 |
192 |
193 | Close Port
194 | 关闭串口
195 |
196 |
197 |
198 | Port already opended
199 | 串口已打开
200 |
201 |
202 |
203 | Port already Closed
204 | 串口已关闭
205 |
206 |
207 |
208 | input error
209 | 输入错误
210 |
211 |
212 |
213 | TX:
214 |
215 |
216 |
217 | No Input
218 | 串口已关闭
219 |
220 |
221 | Please Send Input Commands
222 | 请输入发送指令
223 |
224 |
225 | 没有可以使用的串口
226 | 没有可以使用的串口
227 |
228 |
229 |
230 | No Available Serial Port
231 | 没有可以使用的串口
232 |
233 |
234 |
235 | setting
236 |
237 |
238 | Dialog
239 | 对话框
240 |
241 |
242 |
243 | 4800
244 | 4800
245 |
246 |
247 |
248 | 9600
249 | 9600
250 |
251 |
252 |
253 | 19200
254 | 19200
255 |
256 |
257 |
258 | 38400
259 | 38400
260 |
261 |
262 |
263 | 57600
264 | 57600
265 |
266 |
267 |
268 | 115200
269 | 115200
270 |
271 |
272 |
273 | 128000
274 | 128000
275 |
276 |
277 |
278 | 256000
279 | 256000
280 |
281 |
282 |
283 | 921600
284 | 921600
285 |
286 |
287 |
288 | 1500000
289 | 1500000
290 |
291 |
292 |
293 |
294 | 5
295 | 5
296 |
297 |
298 |
299 | 6
300 | 6
301 |
302 |
303 |
304 | 7
305 | 7
306 |
307 |
308 |
309 | 8
310 | 8
311 |
312 |
313 |
314 |
315 | 1
316 | 1
317 |
318 |
319 |
320 |
321 |
322 | 2
323 | 2
324 |
325 |
326 |
327 |
328 | 3
329 | 3
330 |
331 |
332 |
333 |
334 | 0
335 | 0
336 |
337 |
338 |
339 | 4
340 | 4
341 |
342 |
343 |
344 | Port
345 | 串口
346 |
347 |
348 |
349 | Band Rate
350 | 波特率
351 |
352 |
353 |
354 | Data Bits
355 | 数据位
356 |
357 |
358 |
359 | Stop Bits
360 | 停止位
361 |
362 |
363 |
364 | Parity Bits
365 | 校验位
366 |
367 |
368 |
369 | Flow Control
370 | 流控
371 |
372 |
373 |
374 |
--------------------------------------------------------------------------------
/uart_interface.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | serial
4 |
5 |
6 |
7 | 0
8 | 0
9 | 2056
10 | 1241
11 |
12 |
13 |
14 |
15 | 0
16 | 0
17 |
18 |
19 |
20 | serial
21 |
22 |
23 |
24 | -
25 |
26 |
27 |
28 | 0
29 | 0
30 |
31 |
32 |
33 |
34 | 440
35 | 160
36 |
37 |
38 |
39 |
40 | 440
41 | 160
42 |
43 |
44 |
45 |
46 |
47 |
48 |
-
49 |
50 |
51 |
52 | 0
53 | 0
54 |
55 |
56 |
-
57 |
58 | 4800
59 |
60 |
61 | -
62 |
63 | 9600
64 |
65 |
66 | -
67 |
68 | 19200
69 |
70 |
71 | -
72 |
73 | 38400
74 |
75 |
76 | -
77 |
78 | 57600
79 |
80 |
81 | -
82 |
83 | 115200
84 |
85 |
86 | -
87 |
88 | 128000
89 |
90 |
91 | -
92 |
93 | 256000
94 |
95 |
96 | -
97 |
98 | 921600
99 |
100 |
101 | -
102 |
103 | 1500000
104 |
105 |
106 |
107 |
108 | -
109 |
110 |
111 |
112 | 0
113 | 0
114 |
115 |
116 |
117 |
118 | -
119 |
120 |
121 |
122 | 0
123 | 0
124 |
125 |
126 |
127 | Refresh
128 |
129 |
130 |
131 | -
132 |
133 |
134 |
135 | 0
136 | 0
137 |
138 |
139 |
140 | More Serial Port Setting
141 |
142 |
143 |
144 |
145 |
146 |
147 | -
148 |
149 |
150 | true
151 |
152 |
153 |
154 | 0
155 | 0
156 |
157 |
158 |
159 |
160 | 200
161 | 160
162 |
163 |
164 |
165 |
166 | 200
167 | 160
168 |
169 |
170 |
171 |
172 |
173 |
174 |
-
175 |
176 |
177 |
178 | 0
179 | 0
180 |
181 |
182 |
183 | Open Port
184 |
185 |
186 |
187 | -
188 |
189 |
190 |
191 | 0
192 | 0
193 |
194 |
195 |
196 | Clear Text
197 |
198 |
199 |
200 |
201 |
202 |
203 | -
204 |
205 |
206 |
207 |
208 |
209 |
-
210 |
211 |
212 |
213 |
214 |
215 | -
216 |
217 |
218 |
219 | 0
220 | 0
221 |
222 |
223 |
224 |
225 | 0
226 | 160
227 |
228 |
229 |
230 |
231 | 16777215
232 | 160
233 |
234 |
235 |
236 |
237 |
238 |
239 |
-
240 |
241 |
242 |
243 | 0
244 | 0
245 |
246 |
247 |
248 |
249 | 0
250 | 0
251 |
252 |
253 |
254 |
255 | 16777215
256 | 16777215
257 |
258 |
259 |
260 | Send
261 |
262 |
263 |
264 | -
265 |
266 |
267 |
268 | 0
269 | 0
270 |
271 |
272 |
273 |
274 | 0
275 | 0
276 |
277 |
278 |
279 |
280 | 16777215
281 | 16777215
282 |
283 |
284 |
285 |
286 | 微软雅黑
287 | 16
288 |
289 |
290 |
291 |
292 | -
293 |
294 |
295 | Hex Send
296 |
297 |
298 |
299 | -
300 |
301 |
302 | Hex Show
303 |
304 |
305 |
306 | -
307 |
308 |
309 | Timer
310 |
311 |
312 |
313 | -
314 |
315 |
316 |
317 | 0
318 | 0
319 |
320 |
321 |
322 |
323 | 200
324 | 0
325 |
326 |
327 |
328 |
329 | 200
330 | 16777215
331 |
332 |
333 |
334 | 1000
335 |
336 |
337 |
338 | -
339 |
340 |
341 | ms
342 |
343 |
344 |
345 | -
346 |
347 |
348 | Save Files
349 |
350 |
351 |
352 | -
353 |
354 |
355 | Send with LFCR
356 |
357 |
358 |
359 | -
360 |
361 |
362 | Qt::Horizontal
363 |
364 |
365 |
366 | 634
367 | 20
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
404 |
405 |
406 |
407 | Preferences
408 |
409 |
410 |
411 |
412 | Exit
413 |
414 |
415 |
416 |
417 | Licences
418 |
419 |
420 |
421 |
422 | Distributers
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
--------------------------------------------------------------------------------