繁体   English   中英

C#与USB端口通信

[英]c# communicating with an usb port

我正在尝试使用他的虚拟COM端口名称和Serial Port类联系USB条形码扫描仪作为串行端口。

我尝试这样做的原因是避免将扫描仪用作键盘楔,因为即使隐藏了表单,我也需要进行扫描。

问题是,当我将条形码扫描仪连接到USB端口并运行“ GetPortNames”功能时,会得到一个空列表。 有什么建议吗? 谢谢

通常,许多USB条形码扫描仪只会显示为虚拟键盘设备,而不是虚拟COM端口。 那可以解释为什么它不出现。

您的扫描仪是否支持某种串行仿真模式? 您可能需要对其进行配置或安装其他驱动程序才能启用此功能。 它在设备管理器中是否显示为串行端口? (在“端口”树下查看)

作为旁白:

如果发现只有“键盘模式”是受支持的,请看一下这个问题: 使用USB条码扫描器读取条形码,并忽略扫描器产品ID和供应商ID未知的键盘数据输入

这个问题针对这篇文章,提供了大量与键盘挂钩和过滤出扫描条形码相关的良好信息: http : //nicholas.piasecki.name/blog/2009/02/distinguishing-barcode-scanners-from-the- Winforms键盘/

我不能保证它可以与您的特定设备一起使用,但是我曾经看过可以解决类似问题的代码。 解决方案是在注册表中寻找端口名称。

可以在开源项目ez430chronosnet中找到它的代码; 一个.NET库,可以通过其USB软件狗访问TI的EZ430 Chronos手表。

您将需要查看在注册表中查找名称的PortName.cs文件 (它至少将您指向右侧键)和使用SerialPort进行实际端口打开的Chronos.cs文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM