超级终端控制台命令行Serial串口调试工具-软件说明文档_第1页
超级终端控制台命令行Serial串口调试工具-软件说明文档_第2页
超级终端控制台命令行Serial串口调试工具-软件说明文档_第3页
超级终端控制台命令行Serial串口调试工具-软件说明文档_第4页
超级终端控制台命令行Serial串口调试工具-软件说明文档_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

10超级终端掌握台命令行Serial串口调试工具软件文档积分下载可免费供给技术支持,需要本程序源代码的可联系作者。名目\l“_TOC_250024“设计目的 2\l“_TOC_250023“根本功能 2\l“_TOC_250022“开发环境 2\l“_TOC_250021“使用说明 2\l“_TOC_250020“页面介绍 2\l“_TOC_250019“调试窗口的使用 3\l“_TOC_250018“全局及运行流程 3\l“_TOC_250017“主函数流程 3\l“_TOC_250016“数据发送流程 4\l“_TOC_250015“数据接收流程 4\l“_TOC_250014“全局数据 5\l“_TOC_250013“配置数据 5\l“_TOC_250012“各功能页面 5\l“_TOC_250011“串口参数配置页面ParamDialog 5\l“_TOC_250010“界面设计 5\l“_TOC_250009“类设计 6\l“_TOC_250008“保存配置文件 7\l“_TOC_250007“加载配置 7显示端口信息 7指定名称处理 7指定波特率的处理 7填充候选参数 8\l“_TOC_250006“显示UI页面 8猎取页面的最配置数据 8\l“_TOC_250005“确认保存 8\l“_TOC_250004“主窗口页面MainWindow 8\l“_TOC_250003“界面设计 8类设计 9\l“_TOC_250002“关闭窗口 11关闭串口 11连接串口 11\l“_TOC_250001“写串口 11读串口 11\l“_TOC_250000“处理出错信息 11快捷发送页面 12加载用户喜好配置 12保存用户喜好 12掌握台控件Console 12控件设计 12类设计 12设置掌握台的编辑状态 13自定义粘贴行为 13将数据显示到掌握台 13按键响应处理 14鼠标点击响应处理 14查找关键字 14选项配置页面ConfigDialog 14界面设计 14类设计 14加载配置 15保存配置文件 15显示UI页面 15猎取页面的最配置数据 16加载默认配置按钮执行 16确认保存 16设计目的根本功能WindowsXP以前系统带的串口超级终端的功能,通过实际使用阅历,自行编写超级终端程序。可完成人机交互,配置信息保存,底部自带编辑窗口,可复制文件等功能,格外Console完成交互的状况下使用。其中串口名称、波特率可支持自定义,便利跨平台使用。MARK32023-开发环境WindowsQt5.10.1Qt自带的串口类。使用说明页面介绍参数配置页面如下:加载默认值,可以用在参数设置乱了的状况下恢复。确定并保存可保存配置信息到文件,下次打自动显示。调试窗口的使用为便利编码即调试,设计中使用了调试窗口,便利掌握台打印信息。开启调试窗口的方法是:在工程代码名目的.pro工程文件中添加一行:CONFIG+=console#显示掌握台提示窗口,以便利调试MARK-28121全局及运行流程主函数流程创立应用程序创立应用程序参数配置对话框创立主窗口加载配置文件否是否完成配置处理消息循环是显示主窗口主程序消息循环数据发送流程发送流程Console按钮大事处理keyPressEvent发送流程Console按钮大事处理keyPressEvent窗口主窗口槽函数串口发送数据接收流程当串口获得数据后,将触发主窗口中的槽函数,调用Console中的函数,将数据显示出来。数据接收流程如下。接收流程接收流程串口发送信号调用主窗口的readData函数调用Consle的putData函数Console完成处理显示全局数据配置数据功能:配置数据说明:端口配置数据,可保持到配置文件中typedefstruct{QStringname;//串口端口名称qint32baudRate;//串口波特率QSerialPort::DataBitsdataBits;//数据位数//实际使用的类型,和string开头的对应,可便利使用QSerialPort::Parityparity;//校验QSerialPort::StopBitsstopBits;//停顿位QSerialPort::FlowControlflowControl;//流量掌握QStringstringDataBits;//增加同样的字符串格式配置,可便利编程及用户显示QStringstringParity;//字符串版本QStringstringStopBits;//停顿位QStringstringFlowControl;//流控intlocalEchoEnabled;//是否本地回显0-不回显}ConfigData;externConfigDatasetting;//extern以便利引用此头文件的地方,都可直接使用此全局变量externconstConfigDatadefaultSetting;//定义全局的默认配置数据各功能页面ParamDialog界面设计界面设计如下:类设计类的成员包括:explicitParamDialog(QWidget*parent=0);~ParamDialog;voidloadConfigData(ConfigData&configData);//加载配置voidsetUIConfigData(constConfigData&configData);//依据配置数据,重显示页面boolfirstConfig=false;//是否已完成第一次配置,用于启动时推断用槽函数包括:privateslots:voidshowPortInfo(intidx);//显示端口的具体信息voidcheckCustomBaudRatePolicy(intidx);//客户波特率自定义选项〔Custom〕的处理voidon_btnCancel_clicked;//取消voidon_btnLoadDefaultConfig_clicked;//加载默认配置voidon_btnConfirmSave_clicked;//确定并保存私有函数及成员:private:voidfillUICandidate;//填充候选参数boolcheckCustomPortNamePolicy(intidx);//〔Custom〕〔放showPortInfo里面了〕voidsaveConfigFile(constConfigData&configData);//保存配置文件voidupdateSetting;//setting配置Ui::ParamDialog*ui;//QIntValidator*m_intValidator=nullptr;//输入合法性推断构造函数如下:ParamDialog::ParamDialog(QWidget*parent):QDialog(parent),ui(newUi::ParamDialog),m_intValidator(newQIntValidator(0,4000000,this))//设定波特率的范围{ui->setupUi(this);connect(ui->cbSerialPort,QOverload<int>::of(&QComboBox::currentIndexChanged),//连接int的信号this,&ParamDialog::showPortInfo);connect(ui->cbBaudRate, QOverload<int>::of(&QComboBox::currentIndexChanged),//关联选择项转变时调用的槽this,&ParamDialog::checkCustomBaudRatePolicy);fillUICandidate;//填充待选参数}保存配置文件函数功能:保存配置到文件输入输出:null返回值:void说明:槽函数voidParamDialog::saveConfigFile(constConfigData&configData)加载配置函数功能:加载配置时调用输入输出:ConfigData&configData返回值:void说明:加载.ini配置文件voidParamDialog::loadConfigData(ConfigData&configData)显示端口信息函数功能:显示端口信息输入输出:intidx索引项返回值:void说明:槽函数voidParamDialog::showPortInfo(intidx)指定名称处理函数功能:指定名称处理输入输出:intidx索引项返回值:void说明:客户自定义选项〔Custom〕的处理〔放到showPortInfo里面了〕boolParamDialog::checkCustomPortNamePolicy(intidx)指定波特率的处理函数功能:指定波特率的处理输入输出:intidx索引项返回值:void说明:槽函数voidParamDialog::checkCustomBaudRatePolicy(intidx)填充候选参数函数功能:填充候选参数输入输出:返回值:void说明:槽函数voidParamDialog::fillUICandidateUI页面UI页面输入输出:constConfigData&configData返回值:void说明:加载.ini配置文件voidParamDialog::setUIConfigData(constConfigData&configData)猎取页面的最配置数据函数功能:猎取页面的最配置数据输入输出:返回值:voidsetting的值voidParamDialog::updateSetting确认保存函数功能:确认保存按钮输入输出:返回值:void说明:槽函数voidParamDialog::on_btnConfirmSave_clickedMainWindow界面设计界面设计如下:类设计类的成员包括:public:explicitMainWindow(QWidget*parent=0);~MainWindow;voidsetUIConfigData(constConfigData&configData);//依据配置数据,重显示页面,转变配置文件后需调用一次voidloadFavoriteSettings;//加载用户操作习惯〔窗口大小〕配置protected:voidcloseEvent(QCloseEvent*event)override;//重写关闭大事槽函数:privateslots:voidwriteData(constQByteArray&data);//写串口数据槽voidreadData;//读串口数据槽voidhandleError(QSerialPort::SerialPortErrorerror);//处理串口错误槽voidon_actionConnect_triggered;//连接//菜单和工具栏项voidon_actionDisconnect_triggered;voidon_actionSettings_triggered;//串口参数设置voidon_actionOptions_triggered;voidon_actionClear_triggered;voidon_actionFind_triggered;voidon_actionAbout_triggered;voidon_actionQuick_triggered;//快捷发送私有成员:Ui::MainWindow*ui;voidshowStatusMessage(constQString&message);//显示信息到状态栏voidcloseSerialPort;//关闭串口voidsaveFavoriteSettings;//保存用户操作习惯〔窗口大小〕到文件中QLabel*m_status=nullptr;Console*m_console=nullptr;QPlainTextEdit*edit=nullptr;//底行编辑功能QSerialPort*m_serial=nullptr;//串口对象指针QLineEdit*keyword;//查找的关键字公有成员:ConfigDialog*configDialog=nullptr;//配置对话框构造函数设计如下:MainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::MainWindow),m_status(newQLabel)//状态栏控件,m_serial(newQSerialPort(this))//串口对象,configDialog(newConfigDialog)//配置窗口不是主窗口的子窗口{ui->setupUi(this);QVBoxLayout*verticalLayout;//设置垂直布局,用于对页面的中心主控件布局verticalLayout=newQVBoxLayout(ui->centralWidget);verticalLayout->setSpacing(0);//不留空白verticalLayout->setContentsMargins(0,0,0,0);//m_console=newConsole(ui->centralWidget);//掌握台控件verticalLayout->addWidget(m_console);//添加到主布局中edit=newQPlainTextEdit(ui->centralWidget);//底部编辑栏控件edit->setMaximumHeight(40);//设置最大高度verticalLayout->addWidget(edit);//添加到主布局中ui->statusBar->addWidget(m_status);//添加状态栏keyword=newQLineEdit(this);//查找功能ui->editToolBar->setMaximumWidth(180);//设置查找窗口大小ui->editToolBar->insertWidget(ui->actionFind,keyword);//插入到工具栏中setTabOrder(m_console,edit);//tab挨次setTabOrder(edit,keyword);//ui->actionConnect->setEnabled(true);//可用ui->actionDisconnect->setEnabled(false);//开头时不行用状态ui->actionSettings->setEnabled(true);//ui->actionQuick->setEnabled(false);//将掌握台控件的用户编辑信号,关联到底部控件的槽connect(m_console,&Console::userEdit,edit,&QPlainTextEdit::setPlainText);connect(ui->actionExit,&QAction::triggered,this,&MainWindow::close);//关联退出connect(m_serial,&QSerialPort::errorOccurred,this,&MainWindow::handleError);//关联串口错误信号槽connect(m_serial,&QSerialPort::readyRead,this,&MainWindow::readData);//关联读取数据

connect(m_console,&Console::getData,this,&MainWindow::writeData);//关联用户输入数据的信号槽关闭窗口函数功能:关闭窗口输入输出:QCloseEvent*event返回值:void说明:保存用户喜好voidMainWindow::closeEvent(QCloseEvent*event)关闭串口函数功能:关闭串口输入输出:返回值:void说明:voidMainWindow::closeSerialPort连接串口函数功能:连接串口输入输出:返回值:说明:voidMainWindow::on_actionConnect_triggered写串口函数功能:写串口输入输出:constQByteArray&data返回值:void说明:voidMainWindow::writeData(constQByteArray&data)读串口函数功能:读串口输入输出:返回值:void说明:槽函数voidMainWindow::readData处理出错信息函数功能:处理出错信息输入输出:QSerialPort::SerialPortErrorerror返回值:void说明:槽函数voidMainWindow::handleError(QSerialPort::SerialPortErrorerror)函数功能:快捷发送输入输出:返回值:void说明:voidMainWindow::on_actionQuick_triggered加载用户喜好配置函数功能:加载用户喜好配置输入输出:返回值:void说明:voidMainWindow::loadFavoriteSettings保存用户喜好voidParamDialog::on_btnConfirmSave_clicked函数功能:保存用户喜好配置输入输出:返回值:void说明:voidMainWindow::saveFavoriteSettingsConsole控件设计QPlainTextEdit。类设计类的成员包括:signals:voidgetData(constQByteArray&data);//当猎取到用户键盘输入文本时,发送该信号以便写串口voiduserEdit(constQString&text);//发送用户需要编辑的文本行,以便在底行编辑publicslots:voidsetLocalEchoEnabled(intset);//设置是否本地自动回显voidsetEditPos;//设置用户输入光标,以到达只有在当前行可编辑状态public:explicitConsole(QWidget*parent=nullptr);voidputData(constQByteArray&data);//串口收到数据后,向掌握台界面上显示数据voidfindWord(constQString&word);//查找字符串用protected:voidkeyPressEvent(QKeyEvent*e)override;//重写按键消息voidmousePressEvent(QMouseEvent*e)override;//重写鼠标按键消息//voidmouseDoubleClickEvent(QMouseEvent*e)override;//鼠标双击时的处理函数//voidcontextMenuEvent(QContextMenuEvent*e)override;//弹出右键菜单用//voidfocusInEvent(QFocusEvent*e);//当获得输入焦点时的处理函数voidinsertFromMimeData(constQMimeData*source);//插入富文本时调用〔粘贴或者拖拽到窗口时〕private:boolm_localEchoEnabled=false;//是否翻开本地回显功能inteditLine=0;//当前编辑行〔放到底部可编辑的〕构造函数设计如下:document->setMaximumBlockCount(200);//200行QPalettep=palette;p.setColor(QPalette::Base,Qt::black);//设置背风光为黑色p.setColor(QPalette::Text,Qt::white);//字体为白色setPalette(p);//设置调色板颜色// QFontfont=this->font;//设置字体大小参考// font.setPointSize(10);// this->setFont(font);connect(this,&Console::cursorPositionChanged,this,&Console::setEditPos);//光标转变时调用//connect(this,&Console::textChanged,this,&Console::setEditPos);//文本转变时调用QScrollBar*bar=verticalScrollBar;//设置滚动条bar->setValue(bar->maximum);//设为最大设置掌握台的编辑状态函数功能:设置掌握台的编辑状态输入输出:返回值:void说明:类似命令行掌握台,当前行可编辑,其它行不行编辑voidConsole::setEditPos自定义粘贴行为函数功能:自定义粘贴行为输入输出:constQMimeData*source返回值:void说明:假设发生粘贴或者拖拽时,调用处理voidConsole::insertFromMimeData(constQMimeData*source)将数据显示到掌握台函数功能:将数据显示到掌握台输入输出:constQByteArray&data返回值:void说明:接收到数据或者快捷发送时会调用voidConsole::putData(constQByteArray&data)按键响应处理函数功能:按键响应处理输入输出:QKeyEvent*e返回值:void说明:voidConsole::keyPressEvent(QKeyEvent*e)鼠标点击响应处理函数功能:鼠标点击响应处理输入输出:QMouseEvent*e返回值:void说明:voidConsole::mousePressEvent(QMouseEvent*e)查找关键字函数功能:查找关键字输入输出:QMouseEvent*e返回值:void说明:voidConsole::findWord(constQString&word)ConfigDialog界面设计界面设计如下:类设计类的成员包括:public:explicitConfigDialog(QWidget*parent=0);~ConfigDialog;voidloadConfigData(ConfigData&configData);//从配置文件中加载配置voidsetUIConfigData(constConfigData&configData);//依据配置设置界面privateslots:voidon_btnLoadDefaultConfig_clicked;//加载默认配置voidon_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论