精华内容
下载资源
问答
  • 串口通信调试软件

    2021-04-01 22:15:59
    串口通信调试软件.rar 介绍了关于串口通信调试软件的详细说明,提供其它知识的技术资料的下载。
  • 三菱PLC串口通信调试软件.zip 介绍了关于三菱PLC串口通信调试软件.zip的详细说明,提供三菱的技术资料的下载。
  • 三菱PLC串口通信调试软件,对于编写上位机与PLC的通讯很有用。三菱PLC串口通信调试软件,对于编写上位机与PLC的通讯很有用。
  • 三菱PLC串口通信调试软件rar,三菱PLC串口通信调试软件
  • 蓝牙\串口通讯调试软件蓝牙\串口通讯调试软件
  • PLC串口通信调试软件

    2011-03-13 11:31:44
    PLC串口通信调试软件,顾名思义,就是用来调试PLC的串口通信的软件,还是很有作用的。
  • 本文主要以串口通信调试软件的开发为例,学习基于Qt的串口通信。 准备工作: 1. 首先,因为没有实际的串口设备,所以利用VSPD虚拟串口软件,创建了两个虚拟串口COM1和COM2,如下图。 2. 下载串口通信调试助手...

    以串口通信调试软件的开发为例,学习基于Qt的串口通信。

    准备工作:

    1. 因为没有实际的串口设备,所以利用VSPD虚拟串口软件,创建了两个虚拟串口COM1和COM2,如下图。

    2. 下载串口通信调试助手ComTools,可以设置串口参数,收发数据。

    接下来,试图基于Qt开发一款与上面这款软件功能类似的串口调试软件, 顺便学习基于Qt的串口通信。

    主要利用Qt自带的QSerialPort类来实现,以下是具体实现过程。

    1. 仿照上面的软件,界面设计如下:

    2.  代码如下:

    mainwindow.h

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    
    #include <QMainWindow>
    #include <QSerialPort>
    #include <QSerialPortInfo>
    
    namespace Ui {
    class MainWindow;
    }
    
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
    
    private slots:
        void on_searchButton_clicked();
        void on_openButton_clicked();
        void serialPort_readyRead();
        void on_sendButton_clicked();
        void on_clearButton_clicked();
        void on_pushButton_clicked();
    
    private:
        Ui::MainWindow *ui;
    
        QSerialPort serial;
    };
    
    #endif // MAINWINDOW_H
    

     mainwindow.cpp

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include <QDebug>
    #include <QMessageBox>
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    
    //    QList<QSerialPortInfo> Ports = QSerialPortInfo::availablePorts();
    //    for (int i=0;i<Ports.count();i++)
    //        qDebug()<<Ports[i].portName();
    
        ui->sendButton->setEnabled(false);
        //波特率默认选择第三项
        ui->baudrateBox->setCurrentIndex(3);
        ui->dataBitsBox->setCurrentIndex(3);
    
        ui->sendLine->setText("0");
        ui->recvLine->setText("0");
    
        QObject::connect(&serial, &QSerialPort::readyRead, this, &MainWindow::serialPort_readyRead);
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    void MainWindow::on_searchButton_clicked()
    {
    
        ui->portNameBox->clear();
        //通过QSerialPortInfo查找可用串口
        foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
        {
            ui->portNameBox->addItem(info.portName());
        }
    
    }
    
    void MainWindow::on_openButton_clicked()
    {
        if(ui->openButton->text()==QString("打开串口"))
        {
            //串口名
            serial.setPortName(ui->portNameBox->currentText());
            //波特率
            serial.setBaudRate(ui->baudrateBox->currentText().toInt());
            //数据位数
            switch(ui->dataBitsBox->currentIndex())
            {
            case 0: serial.setDataBits(QSerialPort::Data5); break;
            case 1: serial.setDataBits(QSerialPort::Data6); break;
            case 2: serial.setDataBits(QSerialPort::Data7); break;
            case 3: serial.setDataBits(QSerialPort::Data8); break;
            default: break;
            }
            //奇偶校验
            switch(ui->ParityBox->currentIndex())
            {
            case 0: serial.setParity(QSerialPort::NoParity); break;
            case 1: serial.setParity(QSerialPort::OddParity);break;
            default: break;
            }
            //停止位
            switch(ui->stopBitsBox->currentIndex())
            {
            case 1: serial.setStopBits(QSerialPort::OneStop); break;
            case 2: serial.setStopBits(QSerialPort::TwoStop); break;
            default: break;
            }
            //流控制
            serial.setFlowControl(QSerialPort::NoFlowControl);
    
            if(!serial.open(QIODevice::ReadWrite))
            {
                QMessageBox::warning(this,"警告","串口打开失败",QMessageBox::Ok);
            }
            else
            {
                ui->portstateLine->setText("打开");
            }
            ui->openButton->setText(QString("关闭串口"));
            ui->sendButton->setEnabled(true);
        }
        else
        {
            serial.close();
            if(!serial.isOpen())
            {
                ui->portstateLine->setText("关闭");
            }
            else
            {
                QMessageBox::warning(this,"警告","串口关闭失败",QMessageBox::Ok);
            }
            ui->openButton->setText(QString("打开串口"));
            ui->sendButton->setEnabled(false);
        }
    }
    
    void MainWindow::serialPort_readyRead()
    {
    
        //从接收缓冲区读取数据
        QByteArray buffer = serial.readAll();
        //从界面中读取收到的数据
        QString recv = ui->recvTextEdit->toPlainText();
        recv += QString(buffer);
        //清空以前的显示
        ui->recvTextEdit->clear();
        //重新显示
        ui->recvTextEdit->append(recv);
        //接收字节更新
        int n=ui->recvLine->text().toInt()+buffer.length();
        ui->recvLine->setText(QString::number(n));
    }
    
    void MainWindow::on_sendButton_clicked()
    {
        //获取界面上的数据并转换成utf8格式的字节流
        QByteArray data = ui->sendTextEdit->toPlainText().toUtf8();
        serial.write(data);
        //发送字节更新
        int m=ui->sendLine->text().toInt()+ui->sendTextEdit->toPlainText().length();
        ui->sendLine->setText(QString::number(m));
    }
    
    void MainWindow::on_clearButton_clicked()
    {
        ui->recvTextEdit->clear();
    }
    
    void MainWindow::on_pushButton_clicked()
    {
        ui->sendLine->setText("0");
        ui->recvLine->setText("0");
    }
    

    3. 效果测试:用我们自己开发的调试软件和上述软件ComTools来进行相互之间的通信,测试效果,基本可以实现与ComTools相同的功能。前提:两个串口COM1和COM2参数设置一致。

    如果在Linux中出现报错:QT Unknown module(s) in QT: serialport,则安装相应的库:

    sudo apt-get install libqt5serialport5
    sudo apt-get install libqt5serialport5-dev

     

    展开全文
  • 无需安装,提供MCU程序下载,串口调试助手功能,支持6中芯片类型,提供5种校验方式;调试串口的好工具
  • 串口通讯调试软件V1.0-winXP版 此软件设计环境VB2005,要求装有NET2.0 环境,对您串口调试有帮助, 支持虚拟串口,支持有用串口搜寻,串口数可达256个,支持任意多文件或大文件 传送,还可做各种校验计算器(含CRC8...
  • 之前上传了一个串口调试工具,这次上传的这个串口调试工具功能更加完善,支持数据包格式发送数据,定时发送,同事支持CRC校验,异或和校验及累加校验,文本文件发送等功能。
  • 串口通讯调试软件V1.1 Wince Winxp 通用版 本软件可以运行于 WINCE5 /WINCE6 /WINCE7 及 WINXP 等系统下, 软件设计环境 VB2005,要求装有 NET2.0 环境,对您串口调试有帮助, 支持虚拟串口,支持有用串口搜寻,...
  • 适合51单片机串口调试,操作方便,适合广大单片机爱好者
  • 最近因为工作的需要,自己编写了一个串口调试和同时支持通过串口进行文件下载的软件,可用于升级嵌入式设备的应用程序(仅限BIN文件)
  • 小巧灵活的串口通讯调试软件

    千次阅读 2009-11-29 22:19:00
    ComMonitor捷通串口调试软件追求的是方便易用,能调试大多数的串口通讯应用。本软件根据我们多年的工作经验,添加了更多的实用功能。具体来讲,它除了具备一般的串口调试工具的功能以外,还具有以下特别之处: 1、...

     

     

     

    ComMonitor捷通串口调试软件追求的是方便易用,能调试大多数的串口通讯应用。本软件根据我们多年的工作经验,添加了更多的实用功能。具体来讲,它除了具备一般的串口调试工具的功能以外,还具有以下特别之处:

     

           1、支持多达20个串口,对于使用多串口卡或虚拟串口的用户是很必要的;
         2、加入了接收显示与保存的关键字过滤功能;
         3、具备接收显示与保存时帧换行功能,40ms未受到数据,认为一帧结束;
         4、具有记录发送和接收时间的功能;
         5、支持3个独立的发送区;
         63个发送区可以以定时或响应等两种方式进行轮发;
         7、具有计算CRC16CRC8等校验码的功能;
         8、自动保存上一次使用的端口配置;
         9、自动保存上一次发送区的数据;
         10、具有文件按行发送轮发功能,发送方式也可以采用定时和响应两种方式;
         11、轮发响应方式中,加入了超时判断,和自定义多次重发功能;
         12、所有参数和数据支持运行时改变,不需要重新启动;

        13、轮发时可以选择只轮发一遍,还是不断轮发;

        14、收发报文用不同的颜色显示,红的为接收,篮的为发送;

     

     

    更多工具请访问 www.uScada.com

    展开全文
  • 串口 通讯 调试 一款由易语言编写的串口通讯调试工具
  • 这是一个容川串口通信调试助手(rs485串口通信调试)V5.22.exe,亲测好用,欢迎大家下载学习;这是一个容川串口通信调试助手(rs485串口通信调试)V5.22.exe,亲测好用,欢迎大家下载学习;这是一个容川串口通信调试助手...
  • 功能较强的串口调试软件。既可可手动发送数据,也可自动发送数据。发送与接收类型用户可自定义(分为十六进制和ASCII码),可计算校验(CheckSum,CRC,求反加1等等),可进行字节加减运算及字节反序与自动补0等等。可...
  • 串口通讯串口调试串口连接串口通讯串口调试串口连接串口通讯串口调试串口连接串口通讯串口调试串口连接串口通讯串口调试串口连接
  • 串口调试软件SSCOM 串口通信 51单片机测试软件 波特率 数据位 普通调试软件
  • 串口通信理论与实例: 读取串口 C#实例代码 串口调试软件 RS232/RS485 上下位机通信原理 Modbus通信编程规范(中文) CRC校验
  • 一个用于调试串口通讯软件。内附多国语言的功能介绍。操作界面简洁,最关键的是中文界面,方便实用。
  • moons 电机测试软件串口通讯 调试
  • 串口调试软件,可以跨平台使用(windows、linux)。可以在树莓派中使用。
  • 软件可以让您方便的调试单片机的串口程序,还可以发送文件,可以调节波特率。
  • 文章是以如何使用串口调试软件为主题 虽然关于这个的文章很多,但很多都是关于C语言的,本人小白,也不会。因为工作原因需要调试仪器通讯,查了很多,三天时间,但其实内容整合后十分简单,想和大家分享,希望对...

    文章是以如何使用串口调试软件为主题

       虽然关于这个的文章很多,但很多都是关于C语言的,本人小白,也不会。因为工作原因需要调试仪器通讯,查了很多,三天时间,但其实内容整合后十分简单,想和大家分享,希望对大家有帮助。
    

    通讯协议

    **
    首先,关于通信,应该都有看到过通信协议之类的.我经常接触到的就是RS485/RS232, MODBUS, PROFIBUUS,TCP等。想了解的盆友也可以简单看下我分享的链接,我觉得挺适合小白的哈哈 - 常见的工业通讯协议有哪些

    • 在对通讯协议了个基本概念后,我们就开始查看你所需要通讯的设备的***通讯协议说明书***了,这个很重要,没有就想办法搞来。需要查看它的通讯方式是啥样的,什么线代表着什么。
      例如:FineTek的流量计
      接线说明
      这是它的接线说明,可以找到我们需要的线,RS485+/-线。在连接通讯调试助手前,要准备一个R485转USB的转换器,如果是232/422,就买相对应的。淘宝很便宜20块一个。
      在这里插入图片描述
      推荐大家去买个232/485可以都可以转的哈哈哈,淘宝上有的而且只要30:再就是把线接入对应的端子,打开串口通讯软件,我用的是ComMonitor4.5,你会看见这样的一个界面。
      在这里插入图片描述
      端口:需要设置为你所插入的转换器,可以右击我的电脑-设备管理-端口中看见,如果没找到端口你就需要装驱动,可向淘宝店家需要。
      波特率:输入通讯协议说明书上的指数
      数据位:一般皆为8位(有要求就按说明书)
      校验位:一般无(同上)
      停止位:一般为1位(同上)

    设置好后,打开串口,发送指令
    指令格式如下:

    在这里插入图片描述
    可能不是很标准,但是哈哈哈对我而言觉得这样比较能明白。
    在这里插入图片描述
    对照上面这串命令
    01 模块地址
    03 功能码 (03-读保持寄存器)
    1023 起始地址 (你所要读的位址)
    0002 寄存器个数 (两个)
    31 01 为自动生成的校验码

    对于功能码,大家可以自己去查看下Modbus规定的通用指令,还有一些是仪器厂家自己规定的。
    常用 03 读单个/多个寄存器
    06 写单个寄存器
    10 写多个寄存器
    要注意的一点是这里都为16进制。一般设备的位址都为十进制,所以你需要将十进制转为16进制。

    校验位点击图中的校验就可以自动生成
    在这里插入图片描述
    发送区3中的就是写的命令,大家也可以自己对照一下。

    因为自己是无知小白,所以之前对寄存器都不是很了解哈哈哈哈,所以再唠叨下。现在的寄存器一般都为16位寄存器,很早以前的寄存器为8位,现在已经很少见了。16位的寄存器又由两个8位寄存器组成。
    在这里插入图片描述
    在写的命令中,寄存器的个数,和字节的个数就是这样得来的,1个寄存器,2个字节(1字节=8位),那怎么判断需要的字节数,这就要看你所连接的设备说明书了。
    在这里插入图片描述
    上图是流量计的通讯协定表。
    发送区123的命令对应的是 显示体积流率 设定体积流率单位(读和写)
    注意它的资料形式,有的是FLOAT32/有的是UNIT16,因为它是16位所以我们在写的命令,需要2个字节也就是16位。

    你换算显示体积流率的发现和我的不一样是对,4130=1022 但我加了1,这个仪器的流率其实是在1023的位址,什么原因致使加了一位我现在也不是很明白。
    (有的仪器是从1位开始,所以加1?,但图中的滤波参数和流率单位为何不用加?)

    如果文中有写的不对的地方,多多指教,刚接触的小白白。
    如果有谁知道最后这问题的,多多指教。

    展开全文
  • 它可以控制单片机串口数据的发送与接收,可以与虚拟串口联合起来一起调试软件,具有很好的用途,它的界面友好,操作简单。
  • PLC串口通信调试,PLC串口通信调试PLC串口通信调试
  • 串口调试软件 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如...
  • 串口调试软件

    2012-06-17 23:01:20
    串口调试软件,方便易用,能调试大多数的串口通讯应用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,463
精华内容 14,185
关键字:

串口通信调试软件