下载

在 sourceforge 网站下载安装器:下载链接
在这里插入图片描述

安装完成后可以在设备管理器中看到默认创建的一对虚拟串口
在这里插入图片描述

使用串口调试助手收发

使用串口调试助手分别打开。如下图所示,在端口选择的下拉列表中可以看到刚才在设备管理器中看到的 COM3 和 COM5
在这里插入图片描述

分别打开
在这里插入图片描述

在这里插入图片描述
在 COM3 中发送 你好 COM5,我是 COM3
在这里插入图片描述
在 COM5 就可以收到数据了
在这里插入图片描述
反过来也一样
在这里插入图片描述
在这里插入图片描述
除了 COM3 和 COM5 以外,还可以看到如下 2 个虚拟串口
在这里插入图片描述
这 2 个也是一对,同样可以互相收发
在这里插入图片描述
在这里插入图片描述

readme

开始菜单中可以找到如下文件夹
在这里插入图片描述
打开 ReadMe

下面是 ReadMe 内容的翻译

                 =============================  虚拟串口模拟器(com0com)  =============================  简介  
============  虚拟串口模拟器是一款开源的Windows内核模式虚拟串口驱动程序,遵循GPL许可协议免费提供。  
您可以创建无限数量的虚拟COM端口对,并通过任意端口对连接两个应用程序。  
每个COM端口对提供两个默认名称为CNCA0和CNCB0的COM端口。一个端口的输出即为另一个端口的输入,反之亦然。  通常端口对中的一个端口由需要与设备通信的Windows应用程序使用,另一个端口由设备模拟程序使用。  例如要通过IP传真,您可以将Windows传真应用程序连接到CNCA0端口,将t38modem(http://t38modem.sourceforge.net/)连接到CNCB0端口。此时t38modem充当传真调制解调器模拟程序。  结合hub4com使用,com0com可实现以下功能:  - 让多个应用程序共享单个真实串口设备的数据和信号。例如多个应用程序可共享同一个GPS设备的数据;  - 像使用本地计算机的真实串口一样使用远程计算机的串口(支持RFC 2217协议)。  com0com项目主页:http://com0com.sourceforge.net/。  安装指南  
==========  注意(基于x64的Windows Vista/Windows Server 2008/Windows 7/8系统):  com0com.sys是经过测试签名的内核模式驱动程序,默认不会加载。要启用测试签名,请执行命令:  bcdedit.exe -set TESTSIGNING ON  然后重启计算机。  注意:  启用测试签名会降低计算机安全性。  直接运行安装程序(setup.exe)。安装向导将引导您完成必要步骤。  
如果弹出"找到新硬件向导":  - 选择"否,暂时不",点击下一步;  - 选择"自动安装软件(推荐)",点击下一步。  
安装完成后,系统中将出现名为CNCA0和CNCB0的COM端口对。  您可以通过安装命令提示符添加更多端口对:  1. 运行"安装命令提示符"快捷方式  2. 输入安装命令,例如:  命令> install - -  系统将创建3个新的虚拟设备。其中一个设备名为"com0com - 串口对模拟器总线",另外两个名为"com0com - 串口模拟器"并位于CNCAn和CNCBn端口。  输入help命令获取更多信息,例如:  命令> help  作为替代方案,您可以通过运行"设置"快捷方式调用基于GUI的设置工具(需要Microsoft .NET Framework 2.0)。  测试方法  
=======  1. 在CNCA0端口启动超级终端  2. 在CNCB0端口启动超级终端  3. CNCA0端口的输出应显示为CNCB0端口的输入,反之亦然  卸载指南  
============  直接通过开始菜单中的com0com卸载快捷方式,或通过控制面板"添加/删除程序"中的"虚拟串口模拟器(com0com)"条目进行卸载。卸载向导将引导您完成必要步骤。  提示:要卸载旧版com0com(无安装程序的版本),请先安装新版再执行卸载。  常见问题解答  
=============  问:能在Windows 9x平台上运行com0com吗?  
答:不能。需要Windows 2000或更新版本的操作系统。  问:能否以静默方式安装/卸载com0com(无需用户干预和界面)?  
答:可以,使用/S参数,例如:  setup.exe /S  "%ProgramFiles%\com0com\uninstall.exe" /S  可使用/D参数指定安装目录,例如:  setup.exe /S /D=C:\Program Files\com0com  注意:静默安装默认不会创建任何端口对(可通过设置CNC_INSTALL_CNCA0_CNCB0_PORTS和/或CNC_INSTALL_COMX_COMX_PORTS环境变量覆盖此行为)。  问:setup.exe还有哪些命令行参数?  
答:setup.exe和uninstall.exe的命令行参数列在NSIS用户手册第3.2节:  http://nsis.sourceforge.net/Docs/Chapter3.html#3.2  此外还可使用以下环境变量:  影响setup.exe行为的环境变量:  CNC_INSTALL_START_MENU_SHORTCUTS={是|否}   - 选择/取消"开始菜单快捷方式"  CNC_INSTALL_CNCA0_CNCB0_PORTS={是|否}      - 选择/取消"CNCA0 <-> CNCB0"  CNC_INSTALL_COMX_COMX_PORTS={是|否}        - 选择/取消"COM# <-> COM#"  CNC_INSTALL_SKIP_SETUP_PREINSTALL={是|否}  - 跳过驱动预安装/更新  影响uninstall.exe行为的环境变量:  CNC_UNINSTALL_SKIP_SETUP_UNINSTALL={是|否} - 跳过设备和驱动卸载  问:能否将CNCA0和CNCB0改名为COM8和COM9?  
答:可以。改名步骤:  1. 运行"安装命令提示符"快捷方式  2. 输入修改命令,例如:  命令> change CNCA0 PortName=COM8  命令> change CNCB0 PortName=COM9  也可设置为'COM#'形式,例如:  命令> change CNCA0 PortName=COM#  命令> change CNCB0 PortName=COM#  使用'PortName=COM#'参数时,将调用端口类安装程序设置实际端口名。端口类安装程序会选择COM端口号并将实际端口名设为COM<n>。安装后可通过list命令查看实际端口名,使用RealPortName=COM<n>参数修改实际端口名,例如:  命令> list  CNCA0 PortName=COM#,RealPortName=COM3  CNCB0 PortName=COM#,RealPortName=COM4  命令> change CNCA0 RealPortName=COM8  命令> change CNCB0 RealPortName=COM9  命令> list  CNCA0 PortName=COM#,RealPortName=COM8  CNCB0 PortName=COM#,RealPortName=COM9  问:波特率设置似乎无效:数据传输速度始终相同。如何启用波特率模拟?  
答:要为CNCA0到CNCB0的数据传输启用波特率模拟:  1. 运行"安装命令提示符"快捷方式  2. 输入修改命令,例如:  命令> change CNCA0 EmuBR=yes  问:超级终端测试成功,但使用CreateFile("CNCA0", ...)打开端口时失败。GetLastError()返回ERROR_FILE_NOT_FOUND。  
答:必须在端口名前添加特殊字符"\\.\"。尝试使用CreateFile("\\\\.\\CNCA0", ...)打开端口。  问:我的应用程序在启动时向配对的COM端口发送数据会挂起。唯一的恢复方法是运行连接到另一个配对端口的超级终端。使用物理串口时没有这个问题。  
答:应用程序挂起是因为默认禁用接收缓冲区溢出。可以通过为接收端口启用接收缓冲区溢出来解决此问题。同时为避免流控制问题,需要为发送端口启用波特率模拟。如果您的应用程序使用CNCA0端口,配对端口是CNCB0,则:  1. 运行"安装命令提示符"快捷方式  2. 输入修改命令,例如:  命令> change CNCB0 EmuOverrun=yes  命令> change CNCA0 EmuBR=yes  问:当配对端口未打开时,部分字符会保留在发送端口的输出缓冲区中,并在下次连接时输出。有什么解决方法?  
答:如果接收缓冲区溢出被禁用(默认),这是正常行为。如果需要像真实零调制解调器那样丢失这些字符的行为,请为接收端口启用接收缓冲区溢出。同时为避免流控制问题,为发送端口启用波特率模拟。如果发送端口是CNCA0,接收端口是CNCB0,则:  1. 运行"安装命令提示符"快捷方式  2. 输入修改命令,例如:  命令> change CNCB0 EmuOverrun=yes  命令> change CNCA0 EmuBR=yes  问:我需要编写一个连接到com0com端口对一侧的应用程序,但不想让用户"看到"com0com创建的所有虚拟端口,只显示真正可用的端口。  
答:如果您的应用程序使用CNCB0端口,用户使用的配对端口是CNCA0,则可以通过以下方式"隐藏"CNCB0并在应用程序打开CNCB0时"显示"CNCA0:  1. 运行"安装命令提示符"快捷方式  2. 输入修改命令:  命令> change CNCB0 ExclusiveMode=yes  命令> change CNCA0 PlugInMode=yes  问:添加端口对时,为什么Windows XP总是弹出"找到新硬件向导"?驱动程序已经存在,它可以静默安装并在后台报告设备就绪状态。  
答:这是因为缺少已签名的com0com.cat目录文件。可在测试计算机上按以下方式创建:  1. 创建目录文件,例如:  cd "C:\Program Files\com0com"  inf2cat /driver:. /os:XP_X86  2. 创建测试证书,例如:  makecert -r -n "CN=com0com (test)" -sv com0com.pvk com0com.cer  pvk2pfx -pvk com0com.pvk -spc com0com.cer -pfx com0com.pfx  3. 用测试证书签名目录文件,例如:  signtool sign /v /f com0com.pfx com0com.cat  4. 将测试证书安装到"受信任的根证书颁发机构"和"受信任的发布者"证书存储区,例如:  certmgr -add com0com.cer -s -r localMachine root  certmgr -add com0com.cer -s -r localMachine trustedpublisher  inf2cat、makecert、pvk2pfx、signtool和certmgr工具包含在Windows驱动工具包(WDK)中。  或者您可以取消"找到新硬件向导"并通过update命令安装驱动,例如:  setupc install - -  setupc update  此外可以临时禁用即插即用相关UI消息,例如:  reg add HKLM\Software\Policies\Microsoft\Windows\DeviceInstall\Settings /v SuppressNewHWUI /t REG_DWORD /d 1 /f  setupc install - -  setupc update  reg add HKLM\Software\Policies\Microsoft\Windows\DeviceInstall\Settings /v SuppressNewHWUI /t REG_DWORD /d 0 /f  更多信息参见http://support.microsoft.com/kb/938596。  问:如何监控和获取配对端口的设置(波特率、数据位、校验位和停止位)?  
答:可通过扩展IOCTL_SERIAL_LSRMST_INSERT实现。示例参见:  http://com0com.sourceforge.net/examples/LSRMST_INSERT/tstser.cpp  问:如何将状态传输到DCD和RING?CTS和DSR已连接到RTS和DTR。  
答:OUT1可连接到DCD,OUT2连接到RING。使用扩展IOCTL_SERIAL_SET_MODEM_CONTROL和IOCTL_SERIAL_GET_MODEM_CONTROL来改变OUT1和OUT2的状态。示例参见:  http://com0com.sourceforge.net/examples/MODEM_CONTROL/tstser.cpp  问:如何查看当前运行版本?  
答:在设备管理器中,驱动程序属性页显示INF文件的版本和日期,而驱动程序详细信息页显示com0com.sys文件的版本。com0com.sys文件的版本即为您正在运行的版本。  问:当com2tcp的"服务器"和"客户端"都运行在同一台计算机上时,我可以用某些应用程序通过com2tcp与硬件通信。但当尝试将客户端移到远程计算机时,应用程序显示超时消息且没有增加超时时间的设置。如何解决?  
答:尝试调整应用程序COM端口的AddRTTO和AddRITO参数:  1. 运行"安装命令提示符"快捷方式  2. 输入修改命令,例如:  命令> change CNCA0 AddRTTO=100,AddRITO=100  问:能否通过自定义应用程序添加、删除和重命名虚拟串口?是否有可用API或命令行工具?  
答:setupc.exe是完成此任务的命令行工具。输入以下命令获取更多信息:  setupc help  注:setupg.exe是setupc.exe的GUI封装。  问:需要使用com0com端口的应用程序不识别com0com端口为"真实"COM端口。即使我已将端口名改为COMx,它仍然看不到com0com端口。是否有设置能让端口显示为"真实"COM端口?  
答:可以。您应将端口放入端口类,例如:  1. 运行"安装命令提示符"快捷方式  2. 安装端口对,其中一个端口名为COM#,例如:  命令> install PortName=COM# -  问:我需要在设备管理器中添加"模拟"PNP设备并使其连接到COM3。我使用PNPComSimulator(http://www.bds.dogma.net/pnp_part2.htm),它可以在DevManager轮询时模拟PNP串口设备的响应。能否让设备管理器通过com0com查找PNP设备?  
答:可以。最简单的方法是将端口放入端口类,例如:  1. 运行"安装命令提示符"快捷方式  2. 安装端口对,其中一个端口名为COM#,例如:  命令> install 0 PortName=COM# -  安装端口类端口后,可通过list命令获取实际端口名,例如:  命令> list  CNCA0 PortName=COM#,RealPortName=COM3  CNCB0 PortName=-  问:能否配置com0com随机损坏数据?这个功能对测试应用程序鲁棒性很有用。  
答:可以,通过设置EmuNoise参数实现:  1. 运行"安装命令提示符"快捷方式  2. 输入修改命令,例如:  命令> change CNCA0 EmuNoise=0.00001,EmuBR=yes,EmuOverrun=yes  命令> change CNCB0 EmuNoise=0.00001,EmuBR=yes,EmuOverrun=yes  现在每个字符帧(包括空闲帧)都有0.00001的概率被损坏。  问:最多可以定义多少个端口对?  
答:取决于您的系统。com0com本身有1000000个端口对的内部限制。  问:我的应用程序用户可能需要安装多达250个COM端口对。初始安装相当快,但每个额外的COM端口安装时间通常比前一个更长。用户无法接受长时间等待安装。  
答:这是因为每安装一个新的端口对都需要为所有已安装的对更新驱动程序。可以通过使用带--no-update参数的install命令批量安装多个COM端口对,最后再执行不带该参数的install命令来提高速度,例如:  命令> --no-update install - -  命令> --no-update install - -  ...  命令> --no-update install - -  命令> install  批处理程序示例:  cd /D "%ProgramFiles%\com0com"  FOR /L %%i IN (0,1,249) DO setupc --no-update install - -  setupc install  问:我使用64位版本的com0com遇到问题。想调试但找不到适用于64位操作系统的免费串口监控软件(如portmon)。有人知道有什么可用的吗?  
答:可以尝试使用com0com内部跟踪功能进行调试:  - 从com0com源码获取trace.reg文件;  - 将trace.reg导入注册表;  - 重新加载驱动(或重启系统);  - 执行测试并查看C:\com0com.log文件中的结果。  要禁用跟踪,请重新安装com0com或将trace_disable.reg导入注册表后重新加载驱动。  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/87772.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/87772.shtml
英文地址,请注明出处:http://en.pswp.cn/web/87772.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 应用软件开发从入门到实战详解

目录 1、引言 2、IDE 开发环境介绍 2.1、Visual Studio 2.2、Qt Creator 3、 C语言特性 3.1、熟悉泛型编程 3.2、了解C/C异常处理 3.3、熟练使用STL容器 3.4、熟悉C11新特性 4、Windows 平台的编程技术与调试技能 4.1、需要掌握的若干编程技术和基础知识 4.2、需…

Python爬虫实战:研究slug相关技术

1. 引言 1.1 研究背景与意义 随着互联网技术的快速发展,网络上的信息量呈爆炸式增长。如何从海量的非结构化数据中提取有价值的信息,成为当前数据科学领域的重要研究方向。网络爬虫作为一种自动化数据采集工具,可以高效地获取网页内容,为数据分析提供丰富的数据来源。 Sl…

人工智能-基础篇-18-什么是RAG(检索增强生成:知识库+向量化技术+大语言模型LLM整合的技术框架)

RAG&#xff08;Retrieval-Augmented Generation&#xff0c;检索增强生成&#xff09;是一种结合外部知识检索与大语言模型&#xff08;LLM&#xff09;生成能力的技术框架&#xff0c;旨在提升生成式AI在问答、内容创作等任务中的准确性、实时性和领域适应性。 1、核心概念 …

CppCon 2018 学习:What do you mean “thread-safe“

什么是“线程安全”&#xff1f; “线程安全”指的是一个函数、方法或代码块能够在多个线程同时执行时&#xff0c;不会出现意外的交互或破坏共享数据&#xff0c;能够安全地运行。 POSIX 对线程安全的定义很清楚&#xff1a; “一个线程安全的函数可以在多个线程中被安全地并…

热方程初边值问题解法

已知公式&#xff1a; u ( x , t ) ∫ − ∞ ∞ G ( x , y , t ) g ( y ) d y . u(x,t)\int_{-\infty}^{\infty}G(x,y,t)g(y)dy. u(x,t)∫−∞∞​G(x,y,t)g(y)dy. &#xff08;1&#xff09; 其中 G ( x , y , t ) 1 2 k π t e − ( x − y ) 2 4 k t G(x,y,t)\frac{1}{2…

怎样理解:source ~/.bash_profile

场景复现 $ source ~/.bash_profileAnalysis 分析 一句话概括 source ~/.bash_profile “在 当前 终端会话里&#xff0c;立刻执行并加载 ~/.bash_profile 中的所有命令&#xff0c;让其中定义的环境变量、函数、alias 等即时生效&#xff0c;而无需重新登录或开新 Shell。…

搜索问答技术概述:基于知识图谱与MRC的创新应用

目录 一、问答系统应用分析 二、搜索问答技术与系统 &#xff08;一&#xff09;需求和信息分析 问答需求类型 多样的数据源 文本组织形态 &#xff08;二&#xff09;主要问答技术介绍 发展和成熟度分析 重点问答技术基础&#xff1a;KBQA和DeepQA KBQA&#xff08;…

TCP数据的发送和接收

本篇文章结合实验对 TCP 数据传输中的重传机制、滑动窗口以及拥塞控制做简要的分析学习。 重传 实验环境 这里使用两台腾讯云服务器&#xff1a;vm-1&#xff08;172.19.0.3&#xff09;和vm-2&#xff08;172.19.0.6&#xff09;。 超时重传 首先 vm-1 作为服务端启动 nc…

python 保存二维数组到本地

Python中保存二维数组有多种方法&#xff0c;以下是常用的几种方式&#xff1a;1. 使用NumPy&#xff08;推荐&#xff09;import numpy as np# 创建二维数组 arr np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])# 保存为.npy文件&#xff08;NumPy专用格式&#xff09; np.save…

LIN总线通讯中从节点波特率同步原理

波特率同步原理&#xff1a;从节点如何通过0x55校准时钟&#xff1f; 一、同步场的核心作用&#xff1a;统一“时间标尺” 在LIN总线中&#xff0c;主节点与从节点各自拥有独立的时钟源&#xff08;如MCU内部RC振荡器&#xff09;&#xff0c;但由于制造工艺差异&#xff0c;…

【Unity笔记02】订阅事件-自动开门

流程 当玩家移动到触发区域的时候&#xff0c;门自动打开 事件系统 using System; using System.Collections; using System.Collections.Generic; using UnityEngine;public class EventSystem : MonoBehaviour {public static EventSystem Instance { get; private set; }…

控制台字符动画

旋转的立方体 #include <cstdint> #include <cstdio> #include <iostream> #include <cstring> #include <cmath> #include <cstdlib> #include <ctime> #include <thread> using namespace std;float angleX .0f; float a…

基于 PyTorch 的猫狗图像分类实战

基于 PyTorch 的猫狗图像分类实战 项目背景简介 深度学习框架 PyTorch 因其动态计算图和灵活易用性&#xff0c;被广泛应用于图像分类等计算机视觉任务。在入门计算机视觉领域时&#xff0c;常常以手写数字识别&#xff08;MNIST&#xff09;作为 “Hello World”&#xff0c…

SwiftUI 7(iOS 26 / iPadOS 26)中玻璃化标签页的全新玩法

&#x1f378; Liquid Glass 登场&#xff1a;界面设计焕然一新 WWDC25 可谓惊喜连连&#xff0c;其中最引人瞩目的变革之一&#xff0c;莫过于苹果推出的全新跨平台设计语言 —— Liquid Glass&#xff08;液态玻璃&#xff09;。这一设计风格涵盖了从按钮到导航栏&#xff0…

PDF处理控件Spire.PDF教程:在Java中读取PDF,提取文本、图片和表格

在数据驱动的现代开发中&#xff0c;高效处理 PDF 文档已成为 Java 开发者不可或缺的核心能力。无论是处理各类发票扫描件、业务分析报告&#xff0c;还是包含丰富图表的技术文档&#xff0c;掌握 Java 版的 PDF 解析技术都将大幅提升数据处理效率&#xff0c;充分释放文档中的…

跨平台游戏引擎 Axmol-2.7.0 发布

Axmol 2.7.0 版本是一个以错误修复和功能改进为主的次要LTS长期支持版本 &#x1f64f;感谢所有贡献者及财务赞助者&#xff1a;scorewarrior、peterkharitonov、duong、thienphuoc、bingsoo、asnagni、paulocoutinhox 重大变更 Android Studio 最低版本要求升级至 2025.1.1…

XML 笔记

<image src"hue.gif" width"100" height"auto" align"left"/> <br/> 换行 在 XML 中&#xff0c;<![CDATA[ 和 ]]> 用于定义一个 CDATA 节&#xff08;Character Data Section&#xff09;。CDATA 节是用于将一段…

Python实现优雅的目录结构打印工具

Python实现优雅的目录结构打印工具 在软件开发、系统管理和日常工作中&#xff0c;我们经常需要查看和分析目录结构。 工具功能概述 这个DirectoryPrinter类提供了以下功能&#xff1a; 递归打印目录结构可配置是否显示隐藏文件可设置最大递归深度自定义缩进和文件/文件夹符…

【Python】文件打开:with open具体解析

示例 # 使用 with 语句打开文件并读取内容 with open(pi.txt, r) as file_object:contents file_object.read()print(contents) # 文件在代码块结束后自动关闭with 解析 with 是 Python 中的上下文管理器语法&#xff0c;用于确保某个操作完成后自动执行清理操作。它常用于文…

Acrel-1000系列分布式光伏监控系统在湖北荆门一马光彩大市场屋顶光伏发电项目中应用

摘 要&#xff1a;分布式光伏发电能够对日益严重的环境压力起到有效缓解作用,在当前对环境保护需求越来越大情况下,发电行业在发展中不但要提升发电效率,同时也需要降低成本。分布式光伏发电主要是利用风能和太阳能等可再生清洁能源进行发电,对于空气质量具有改善效果,和传统发…