精华内容
下载资源
问答
  • 虚拟串口助手
    千次阅读
    2021-02-23 13:13:35

    一、用到的软件:

    1. proteus
    2. VSPD:
      VSPD是一款本地虚拟串口的软件。 可以虚拟2个串口然后连接起来实现自发自收调试,让你的程序读一个串口,另外一个串口你就用来串口调试工具。

    二、串口通信步骤

    1. 打开VSPD”
      点击“Add pair添加串口1和串口2
      在这里插入图片描述
      点击“COM1和COM2”都设置如图,点击“Set standard pinout”
      2 .测试创建的虚拟串口对是否能正常进行通信,下面以【9600波特率,8位数据位,1位停止位,无校验,无流控】进行测试,需要的波特率只需要在串口助手中修改即可,和平常的串口无异;经过测试,确定虚拟串口通信正常,结果如下图:在这里插入图片描述
      注意:一个连接虚拟串口1,一个连接虚拟串口2
      3.用proteus创建电路
      在这里插入图片描述
      4.设置DB9
      在这里插入图片描述
      这里使用串口1,则串口调试软件里用串口2.

    最后,注意proteus里单片机的晶振要和自己计算波特率时用到的晶振频率相同。

    更多相关内容
  • 上位机虚拟串口助手

    2019-04-12 10:28:46
    如果做上位机的开发用到了串口,使用虚拟串口助手就免去了USB转串口的硬件设备,还不用写下位机的,方便快捷
  • 虚拟串口助手233.zip

    2019-05-29 14:12:36
    增加串口数量,vspd 一次 虚拟2个串口,一个读,一个发,调试串口好工具。 可以虚拟2个串口然后连接起来实现自发自收调试 让你的程序读一个串口,另外一个串口你就用来串口调试工具发 vspd 是很好的工具!编程时...
  • 虚拟串口助手

    2018-06-17 08:50:41
    虚拟串口虚拟串口虚拟串口虚拟串口虚拟串口虚拟串口
  • vspd虚拟串口助手

    2020-10-11 10:43:15
    vspd虚拟串口助手。 VSPD会自动识别出本台计算上有几个物理串口,例如本机只有一个物理串口COM1。在右侧端口管理的分页中,添加虚拟端口。虚拟端口一定是成对出现的,如CMO2和COM3,其编号由VSPD自动检测本地物理...
  • 找了好久的虚拟串口助手和串口调试助手说明:vspd是以串口对形式添加的,比如这里COM1,COM2成对,那么COM1的数据就只能发到COM2,COM2会自动接收COM1发送的数据。
  • Modbuspoll+虚拟串口助手,方便modbus调试
  • VSPD虚拟串口助手

    2018-03-17 14:24:31
    Virtual Serial Port Driver简称VSPD,这是一款强大的虚拟串口软件。如果你的电脑没有串口,可以使用Virtual Serial Port Driver来代替,可谓是电脑串口的完美解决方案,支持win7、win8win10等操作系统。
  • Modbus Poll :Modbus主机仿真器,用于测试和调试Modbus从设备。该软件支持ModbusRTU、ASCII、TCP/IP。Modbus Slave: Modbus从设备仿真器,可以仿真32个从设备/地址域。...虚拟串口助手:添加虚拟串口用于模拟测试。
  • ModBusPoll.4.3.4+Slave+虚拟串口助手,无需KEY,绿色测试版
  • MX虚拟串口_1.0.1.7.zip

    2021-10-09 16:46:31
    MX虚拟串口,原版下载:http://www.meixuannet.cn/
  • VSPD虚拟串口工具,方便测试软件,可添加多个虚拟端口供开发者调试
  • 大家可以下载下来哦, 串口好用的工具。破解版虚拟串口助手
  • 中文虚拟串口工具助手.zip
  • ModbusPoll是一个主站设备仿真软件,支持多文档接口,即可以同时监视多个从站设备及数据域。ModbusSlave是一个从站设备仿真软件,它用于接收主设备的命令包,并回送数据包;可用于测试和调试Modbus主站设备,便于...
  • 最近贮备串口程序开发,笔记本没有串口。搜到虚拟串口工具感觉还不错,调试助手找了好几个都不能配合使用,找到这个就分享了。
  • 虚拟串口(虚拟 COM 端口),应该很多人都知道,也就是一种模拟物理串行接口的 软件 。... 以前的电脑,基本标配都包含一个串口。...虚拟串口软件推荐:强大的虚拟串口软件 串口调试助手软件有很多,随便选一个自己

    虚拟串口(虚拟 COM 端口),应该很多人都知道,也就是一种模拟物理串行接口的 软件 它完全复制了硬件 COM 接口的功能,并且将被操作系统和串行应用程序识别为真实端口。

    以前的电脑,基本标配都包含一个串口。但现在的电脑,基本都没有配置串口了。如果要使用串口的功能,基本就要用一个USB转串口的硬件模块。

    现实生活中,虚拟串口用处很多。比如:你的应用程序检测串行输入数据的时候,方便调试。还比如:多个有应用程序之间使用串口通信。

    虚拟串口软件推荐:强大的虚拟串口软件


    串口调试助手软件有很多,随便选一个自己习惯的即可。


    演示一下串口模拟器和串口调试助手使用

    打开VSPD,添加虚拟串口

    在这里插入图片描述

    打开串口调试助手,设置好必要的参数

    https://raw.githubusercontent.com/xkyvvv/blogpic/main/pic1/image-20210801141400770.png
    https://raw.githubusercontent.com/xkyvvv/blogpic/main/pic1/image-20210801141420257.png

    打开两个串口,在其中一个串口中发送区写入消息,点击发送,在另一个串口的接收区可以看到我们发送的消息

    在这里插入图片描述

    两个串口的连接示意图如下图所示

    image-20210801143004531

    数据传输路线有两条

    • 串口调试助手1–>COM1–>COM2–>串口调试助手2
    • 串口调试助手2–>COM2–>COM1–>串口调试助手1

    在Windows下使用C语言调用串口,接收发送数据

    https://raw.githubusercontent.com/xkyvvv/blogpic/main/pic1/image-20210801144941433.png

    C语言程序测试接收代码如下:

    #include<stdio.h>
    #include<windows.h>
     
    int main()
    {
    	FILE *fp;
    	if ((fp = fopen("com1", "r")) == NULL)
    	{
    		printf("cannot open com!\n");
    	}
    	else
    		printf("open com successful!\n");
    	char str;
    	while (1)
    	{
    		fscanf(fp, "%c", &str);
    		printf("%c ", str);
    		Sleep(100);
    	}
    	return 0;
    }
    

    运行

    https://raw.githubusercontent.com/xkyvvv/blogpic/main/pic1/image-20210801150720719.png

    因为这个程序打开的是COM1,因此我么在COM2的串口调试助手中,在发送区输入要发送的值,点击发送
    在这里插入图片描述
    这是可以在运行串口看到接收并且打印出我们发送的值

    https://raw.githubusercontent.com/xkyvvv/blogpic/main/pic1/image-20210801150945647.png

    我们继续测试几次

    image-20210801151033146

    https://raw.githubusercontent.com/xkyvvv/blogpic/main/pic1/image-20210801151046652.png

    C语言程序测试发送代码如下:

    #include <Windows.h>
    #include <stdio.h>
     
    HANDLE hCom;
     
    int main(void)
    {
    	hCom = CreateFile(TEXT("COM1"),//COM1口
    		GENERIC_READ, //允许读
    		0, //指定共享属性,由于串口不能共享,所以该参数必须为0
    		NULL,
    		OPEN_EXISTING, //打开而不是创建
     
    		FILE_ATTRIBUTE_NORMAL, //属性描述,该值为FILE_FLAG_OVERLAPPED,表示使用异步I/O,该参数为0,表示同步I/O操作
    		NULL);
     
    	if (hCom == INVALID_HANDLE_VALUE)
    	{
    		printf("打开COM失败!\n");
    		return FALSE;
    	}
    	else
    	{
    		printf("COM打开成功!\n");
    	}
     
    	SetupComm(hCom, 1024, 1024); //输入缓冲区和输出缓冲区的大小都是1024
     
    	/*********************************超时设置**************************************/
    	COMMTIMEOUTS TimeOuts;
    	//设定读超时
    	TimeOuts.ReadIntervalTimeout = MAXDWORD;//读间隔超时
    	TimeOuts.ReadTotalTimeoutMultiplier = 0;//读时间系数
    	TimeOuts.ReadTotalTimeoutConstant = 0;//读时间常量
    	//设定写超时
    	TimeOuts.WriteTotalTimeoutMultiplier = 1;//写时间系数
    	TimeOuts.WriteTotalTimeoutConstant = 1;//写时间常量
    	SetCommTimeouts(hCom, &TimeOuts); //设置超时
     
    	/*****************************************配置串口***************************/
    	DCB dcb;
    	GetCommState(hCom, &dcb);
    	dcb.BaudRate = 9600; //波特率为9600
    	dcb.ByteSize = 8; //每个字节有8位
    	dcb.Parity = NOPARITY; //无奇偶校验位
    	dcb.StopBits = ONESTOPBIT; //一个停止位
    	SetCommState(hCom, &dcb);
     
    	DWORD wCount;//实际读取的字节数
    	bool bReadStat;
     
    	char str[2] = { 0 };
     
    	while (1)
    	{
    		int i;
        	unsigned char sendData[256] = {0};//写入串口缓存区的数组
        	for(i=0; i<16; i++)
        	{
            	sendData[i] = i;
        	}
    
        	DWORD dwWriteLen = 0;
        	if(!WriteFile(hCom, sendData, 16, &dwWriteLen, NULL))
        	{
            	printf("串口发送数据失败!\n");
        	}
    		Sleep(1000);
    	}
     
    	CloseHandle(hCom);
    }
    

    也可以使用下面这段代码

    #include<stdio.h>
    #include<windows.h>
     
    int main()
    {
    	FILE *fp;
    	if ((fp = fopen("com1", "r")) == NULL)
    	{
    		printf("cannot open com!\n");
    	}
    	else
    		printf("open com successful!\n");
    		
    	char str = 'x';
     
    	while (1)
    	{
    		fprintf(fp, "%s", &str);
    		Sleep(1000);
    	}
    	return 0;
    }
    

    不过不知道为什么,这两段代码都可以正常运行,但是COM2的串口调试助手那接收不到数据。
    最近发现了是哪里出了问题,串口参数不一致导致的问题。
    只需要将代码改成如下

    #include <Windows.h>
    #include <stdio.h>
     
    HANDLE hCom;
     
    int main(void)
    {
    	hCom = CreateFile(TEXT("COM1"),//COM1口
    		GENERIC_READ | GENERIC_WRITE, //允许读和写 
    		0, //指定共享属性,由于串口不能共享,所以该参数必须为0
    		NULL,
    		OPEN_EXISTING, //打开而不是创建
     
    		FILE_ATTRIBUTE_NORMAL, //属性描述,该值为FILE_FLAG_OVERLAPPED,表示使用异步I/O,该参数为0,表示同步I/O操作
    		NULL);
     
    	if (hCom == INVALID_HANDLE_VALUE)
    	{
    		printf("打开COM失败!\n");
    		return FALSE;
    	}
    	else
    	{
    		printf("COM打开成功!\n");
    	}
     
    	SetupComm(hCom, 1024, 1024); //输入缓冲区和输出缓冲区的大小都是1024
     
    	/*********************************超时设置**************************************/
    	COMMTIMEOUTS TimeOuts;
    	//设定读超时
    	TimeOuts.ReadIntervalTimeout = MAXDWORD;//读间隔超时
    	TimeOuts.ReadTotalTimeoutMultiplier = 0;//读时间系数
    	TimeOuts.ReadTotalTimeoutConstant = 0;//读时间常量
    	//设定写超时
    	TimeOuts.WriteTotalTimeoutMultiplier = 1;//写时间系数
    	TimeOuts.WriteTotalTimeoutConstant = 1;//写时间常量
    	SetCommTimeouts(hCom, &TimeOuts); //设置超时
     
    	/*****************************************配置串口***************************/
    	DCB dcb;
    	GetCommState(hCom, &dcb);
    	dcb.BaudRate = 115200; //波特率为115200
    	dcb.ByteSize = 8; //每个字节有8位
    	dcb.Parity = NOPARITY; //无奇偶校验位
    	dcb.StopBits = ONESTOPBIT; //一个停止位
    	SetCommState(hCom, &dcb);
     
    	DWORD wCount;//实际读取的字节数
    	bool bReadStat;
     
    	char str[2] = { 0 };
     
    	while (1)
    	{
    		int i;
        	unsigned char sendData[256] = {0};//写入串口缓存区的数组
        	for(i=0; i<16; i++)
        	{
            	sendData[i] = i;
        	}
    
        	DWORD dwWriteLen = 0;
        	if(!WriteFile(hCom, sendData, 16, &dwWriteLen, NULL))
        	{
            	printf("串口发送数据失败!\n");
        	}
    		Sleep(1000);
    	}
     
    	CloseHandle(hCom);
    }
    

    运行之后,发现在串口2的调试助手处,显示的接收数据在增加,

    在这里插入图片描述
    在这里插入图片描述

    但是却不会在界面上显示出来,这个不知道是啥原因。

    展开全文
  • 破解版ModBusPoll.4.3.4+Slave+破解版虚拟串口助手, 用于调试modbus协议
  • 虚拟串口软件,如果没有积分下载可以私聊我虚拟串口软件,
  • 虚拟串口串口助手虚拟串口用一次就行了,无视有效期
  • 解压密码 dapenson
  • VSPD虚拟串口.rar

    2020-07-17 16:36:41
    该软件可以实现电脑虚拟一个通路出来也就是两个端口。可以用于测试需要在电脑上手动发送数据到另一个串口软件时使用。
  • C#代码实现串口通信、虚拟串口工具、串口调试助手
  • 虚拟串口工具+调试助手,可直接使用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,073
精华内容 1,229
关键字:

虚拟串口助手

友情链接: zlg500S_51_UART.rar