标签: usbserial

使用VID和PID为连接到x64的USB设备识别COM端口

如下我能够通过给定的pid和vid获得附加到32位win7OS机器的usb com端口名称,但是当在x64中运行时它会卡在以下行中:

comports.Add((string)rk6.GetValue("PortName"));
Run Code Online (Sandbox Code Playgroud)

这是我的代码

static List<string> ComPortNames(String VID, String PID)
    {
        String pattern = String.Format("^VID_{0}.PID_{1}", VID, PID);
        Regex _rx = new Regex(pattern, RegexOptions.IgnoreCase);
        List<string> comports = new List<string>();

        RegistryKey rk1 = Registry.LocalMachine;
        RegistryKey rk2 = rk1.OpenSubKey("SYSTEM\\CurrentControlSet\\Enum");

        foreach (String s3 in rk2.GetSubKeyNames())
        {

            RegistryKey rk3 = rk2.OpenSubKey(s3);
            foreach (String s in rk3.GetSubKeyNames())
            {
                if (_rx.Match(s).Success)
                {
                    RegistryKey rk4 = rk3.OpenSubKey(s);
                    foreach (String s2 in rk4.GetSubKeyNames())
                    {
                        RegistryKey rk5 = rk4.OpenSubKey(s2);
                        RegistryKey rk6 = rk5.OpenSubKey("Device Parameters");
                        comports.Add((string)rk6.GetValue("PortName"));
                    }
                }
            }
        }
        return …
Run Code Online (Sandbox Code Playgroud)

c# usb 64-bit usbserial

6
推荐指数
2
解决办法
1万
查看次数

如何在Windows XP中获得USB串口加密狗的稳定COM端口?

我开发嵌入式系统并需要串行端口进行通信.

在Windows XP中,USB串行端口加密狗的数字不断移动,这使得它很难在脚本或makefile中使用(例如,通过内置的引导加载程序对NXP控制器进行闪存编程,或者用于控制目标和两个实验室设备)同时).

有没有办法修复这种加密狗的COM端口?在Linux中,我可以通过对FTDI加密狗的序列号相匹配(请参见通过的udev做这个答案,我只是给了,而寻找一个回答这个问题).

windows embedded usb serial-port usbserial

6
推荐指数
2
解决办法
4万
查看次数

屏幕/ dev / ttyUSB0具有不同的选项,例如数据位,奇偶校验等

我正在尝试使用

屏幕/ dev / ttyUSB0

通过USB串行接口连接到旧计算机。

我希望在此网站上注册后,我会收到我问题的答案。我进行了搜索,但是还没有想出在命令行中放置正确的选项的方法,以从计算机中获得无垃圾的反馈(收到的文本都被弄乱了)。

我的操作系统是CentOs,Gnome 2.16.0。我看到有一个名为KPPP的程序,其中有一个“ Terminal ...”,但也没有弄清楚。因此,我试图将CLI与“ screen”一起使用,但是在设置正确的参数时遇到了麻烦(显然,我不知道如何将这些参数与stty一起使用)。这不是安装应用程序或对此计算机执行任何操作的选择,因此我必须使用已有的功能。“屏幕”似乎可以完成任务,但是如前所述,收到的文本是乱码(“ $$ @%idj ldj”等)

我需要这些参数用于计算机一:

波特:9600数据位:8奇偶校验:无停止位:2流量控制:硬件。

对于两台计算机,我需要:

波特率:9600数据位:7奇偶校验:偶数停止位:1流量控制:硬件

波特率很容易;

屏幕/ dev / ttyUSB0 9600

但是我不知道该怎么办。。我找到了停止位的选项:

cstopb(使用两个停止位)

-cstopb(使用一个停止位)

但是如何正确使用它?

屏幕/ dev / ttyUSB0 9600 -cstopb

要么

屏幕/ dev / ttyUSB0 9600,-cstopb

因此,如果有人可以通过所有列出的参数通过串行接口帮助我连接到另一台计算机,我将非常感激!

2016年12月22日更新:

我已经找到了这本有关stty的手册:http : //osr507doc.sco.com/man/html.C/stty.C.html

数据位与此选项相同吗?

   cs5 cs6 cs7 cs8
        Select character size (see termio(M)). 
Run Code Online (Sandbox Code Playgroud)

平价:

   parodd (-parodd)
         Select odd (even) parity. 
Run Code Online (Sandbox Code Playgroud)

停止位:

   cstopb (-cstopb)
         Use two (one) stop bits per character. 
Run Code Online (Sandbox Code Playgroud)

但是硬件控制呢?

无论如何; 这仍然无法正常工作;

screen /dev/ttyUSB0 9600 …
Run Code Online (Sandbox Code Playgroud)

serial-port gnu-screen usbserial tty

6
推荐指数
2
解决办法
2万
查看次数

识别串口/ usb设备python

这个问题的解决方案可能非常简单,但我不熟悉动态地与设备连接.我正在做的是我正在制作一个python可执行代码,因此用户不必在他们的计算机或任何类型的python解释器上闲置,这意味着我不知道该设备将插入哪个USB端口至.该程序需要能够打开与通过串行转换为USB转换器连接的设备的连接.如何确定哪个连接设备是打开端口的正确设备?我正在使用pySerial与设备进行交互.任何帮助将不胜感激.

python serial-port usbserial pyserial

5
推荐指数
1
解决办法
1万
查看次数

尝试使用 USB 转 RS232 电缆进行通信时 Minicom 脱机

我正在使用 USB 转 RS232 电缆在两台 linux 机器之间进行通信。在连接了 USB 端的机器上,我运行:

dmesg | grep tty
Run Code Online (Sandbox Code Playgroud)

并得到以下输出:

console [tty0] enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0b: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
usb 2-1.2: pl2303 converter now attached to ttyUSB0
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好。现在我运行 aminicom -s并使用“串行端口设置”​​,将“串行设备”更改为“/dev/ttyUSB0”,将“BPS/Par/Bits”更改为“115200 8N1”,并为“硬件流程”选择“否”控制”和“软件流控制”。

我将这些设置保存为默认值,退出 minicom,然后minicom再次运行。

Minicom …

linux serial-port usbserial

5
推荐指数
1
解决办法
5413
查看次数

使用 zmodem/picocom/minicom 非交互传输文件

我们正在尝试使用 minicom(在主机 pc 中)和 picocom(在基于 arm 的评估板中)组合传输文件。在评估板方面,我们有/dev/ttygserial,在主机 PC 方面,我们有/dev/ttyUSB0

主机端minicom设置如下,

  1. 串行设备 - /dev/ttyUSB0
  2. 波特率 - 115200

将 minicom 设置为接收模式的步骤。

  1. ctrl+a R,选择zmodem
  2. 现在 minicom 将开始等待来自另一端的文件。

在评估板方面,我们使用 picocom 发送文件如下。

  1. 在命令行执行 picocom -b 115200 -s "sz -vv" /dev/ttygserial
  2. 现在按Ctrl+A and Ctrl+S
  3. Picocom 将通过打印来询问文件名 **file
  4. 提供文件名并按下回车键后,文件将发送到主机。

所有这些步骤都有效,我们能够将不同类型的文件从评估板传输到 PC,但现在我们想将此过程放入 C 代码中。为此,我有以下疑问,

  1. 是否可以minicom使用单个命令设置为文件接收模式?(意思是非交互)?
  2. 是否可以在单个命令中使用 picocom 发送文件(意味着非交互)?
  3. 还有其他建议吗?

serial-port usbserial zmodem

5
推荐指数
1
解决办法
1万
查看次数

抑制 UsbRequestJNI / ALOGD 日志消息

我正在开发一个 Android 应用程序,它从一些自定义硬件传输串行数据。我正在使用 mik3y 的usb-serial-for-android库以 OTG 模式通过 USB 获取串行数据,经过一些调整后工作正常。

\n\n

然而,对于通过 USB 接口的每笔交易,UsbRequestJNI都会记录一条initclose消息。这使得 LogCat 每秒被数千条日志消息淹没(注意时间戳):

\n\n
02-17 09:30:21.590    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 close\n02-17 09:30:21.590    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 init\n02-17 09:30:21.594    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 close\n02-17 09:30:21.594    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 init\n02-17 09:30:21.598    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 close\n02-17 09:30:21.598    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 init\n02-17 09:30:21.602    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 close\n02-17 09:30:21.602    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 init\n02-17 09:30:21.606    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 close\n02-17 09:30:21.606    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 init\n02-17 09:30:21.610    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 close\n02-17 09:30:21.610    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 init\n02-17 09:30:21.614    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 close\n02-17 09:30:21.614    2332-2349/com.dummydomain.app D/UsbRequestJNI\xef\xb9\x95 …
Run Code Online (Sandbox Code Playgroud)

java android usbserial android-usb

5
推荐指数
1
解决办法
1518
查看次数

USB虚拟串口传输速度

通过 USB 2.0 的虚拟串行端口连接的传输速度或波特率是多少?我基本上需要将数据从 ARM 微控制器传输到 PC。微控制器支持USB,目前我正在通过使用USB CDC创建虚拟串口来传输数据。在使用 minicom(在 Linux 中)或 putty(在 Windows 中)时,无论应用程序中的波特率设置如何,我都能够接收数据。

这让我有点困惑,谁设置了数据传输速率以及应用程序中设置的意义是什么。在这种情况下,我期望的传输速度是多少?有什么方法可以控制和测量它们?

此外,对于流数据和间歇性发出命令,USB CDC是一个很好的解决方案吗?

usb microcontroller usbserial

5
推荐指数
1
解决办法
4427
查看次数

在 Windows 10 Professional 中安装自定义 inf 时遇到问题。Windows 使用 OEM 驱动程序覆盖它

我为自定义设备制作了一个签名的 USB 串行 inf 文件,并创建了一个安装程序,该程序可以将驱动程序成功安装到 Windows 7 (32/64)、Windows 8.1 (64) 但不是 Windows 10。这适用于默认安装(右-单击,安装)直接在文件上,使用设备管理器和使用 PNPU​​TIL。设备驱动程序安装成功,但使用的是 OEM usbser 驱动程序。单击“更新驱动程序”并在设备管理器中选择我的驱动程序后,Windows 提示我“已为您的设备安装了最佳驱动程序软件”。如果我使用设备管理器并选择“从磁盘安装”,我可以成功解决 Windows 10 强制执行自己的驱动程序的问题。但这并没有让我更接近成功的 inf 文件和安装程序。

我的默认安装过程:

  1. 从 USB 端口拔下设备
  2. 加载新安装的 Windows 10 Professional 的快照
  3. 右键单击,安装在 .inf 文件上
  4. 插入设备
  5. 查看设备管理器,看到使用微软制作的标准USB串行设备驱动程序而不是我的驱动程序

如果我然后卸载它并重复步骤 3-5,它有时会允许我的自定义驱动程序坚持下去。

有人告诉我,我的驱动程序安装在 Windows 10 企业版上,这进一步混淆了问题。

问题:我做错了什么?

我的 inf 文件:

;************************************************************
; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation

; Version v1.1, updated 17 April 2013


[Strings]
DriverPackageDisplayName="Rinstrum USB Serial Drivers"
ManufacturerName="Rinstrum"
ServiceName="USB RS-232 Emulation Driver"
linux.gserial="Rinstrum USB …
Run Code Online (Sandbox Code Playgroud)

windows usb driver usbserial inf

5
推荐指数
1
解决办法
1694
查看次数

USB 串行在新 Linux 中立即失去连接(内核 4.12.14)

我升级了我的 Linux(Opensuse 从 42.3 到 15),但遇到了新的错误。当我连接 USB 串行加密狗时,它在开发文件夹中显示 ttyUSB0,并立即断开连接并从开发列表中消失。

似乎都是来自“brltty”,但我不知道这是在做什么。

我的 dmesg 输出是:

[  960.719371] usb 1-4: new full-speed USB device number 5 using xhci_hcd
[  960.898481] usb 1-4: New USB device found, idVendor=10c4, idProduct=ea60
[  960.898483] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  960.898484] usb 1-4: Product: CP2102 USB to UART Bridge Controller
[  960.898485] usb 1-4: Manufacturer: Silicon Labs
[  960.898486] usb 1-4: SerialNumber: 0001
[  961.424298] usbcore: registered new interface driver usbserial …
Run Code Online (Sandbox Code Playgroud)

usb usbserial tty disconnect linux-kernel

5
推荐指数
1
解决办法
4652
查看次数