usb 相关问题

USB是通用串行总线(Universal Serial Bus)的首字母缩写,是USB实施器论坛定义的串行主机到设备协议的标准。

我可以在单个微控制器上将多个 TinyUSB 实例配置为 USB 设备 (VCP) 吗?

我有一种情况,我想从一个微控制器控制 3 个独立的单元。这些设备具有配置为 USB 主机的 USB 端口,并且需要一个 USB 虚拟 COM 端口。这可能吗

回答 1 投票 0

如何在 USB HID 报告中发送 Unicode?

有一个问题,几乎是一个确切的名字。答案指出,对于(一般)Unicode 字符,他的解决方案取决于操作系统。 但是,HID 用法表 1.5 文档有专门的用法...

回答 1 投票 0

nanoFramework - 使用 Windows 作为带有 USB 到 I2C 转换器的目标

是否可以将nanoFramework与USB顶部I2C串行转换器一起使用,以便可以在Windows 10/11客户端上使用。 如果有的话,有推荐的硬件USB/I2C设备吗?

回答 1 投票 0

将 USB 视频捕获设备友好名称与 Python 中的 OpenCV 端口号相关联

我想在Windows平台上使用Python获取外部USB视频捕获设备的友好名称和USB端口号。 我正在使用 OpenCV 从 USB 捕获设备捕获视频。 OpenCV

回答 1 投票 0

罗技统一接收器协议?

是否可以在哪里找到有关 Logitech Unifying Receiver 的文档或 SDK? 我最近获得了一款无线鼠标,它配有罗技统一接收器(一个小型 USB 适配器

回答 4 投票 0

如何使用 Windows API 获取 USB 3.2 Gen 2x2(20Gb/s) 设备的当前链接通道数

我可以使用 IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 从 DeviceIsOperatingAtSuperSpeedPlusOrHigher 获取 USB 3.2 Gen 2(10Gb/s) 当前链接的单通道信息。 我怎样才能得到当前的链接...

回答 1 投票 0

STM32H5开发板移植USBX发送数据遇到bug,应该如何去排查问题

我使用stm32H5开发板移植了一个USBX,然后使用FreeRtos创建了一个发送数据的任务,但是该任务运行了3次才成功发送一次数据。我尝试使用

回答 1 投票 0

为什么当这个 ttyUSB 通过 C 寻址时,有时会向 stdout 写入一些内容,有时则不会?

嗨,我为 ttyUSB 设备用 c 语言编写了以下代码。部分代码来自其他来源: // C 库头文件 #包括 #包括 #包括 嗨,我为 ttyUSB 设备用 c 语言编写了以下代码。代码的某些部分来自其他来源: // C library headers #include <stdio.h> #include <string.h> #include <stdlib.h> // Linux headers #include <fcntl.h> // Contains file controls like O_RDWR #include <errno.h> // Error integer and strerror() function #include <termios.h> // Contains POSIX terminal control definitions #include <unistd.h> // write(), read(), close() // Custom headers //// klammern ////#include "some_functions.h" ////int write_log(char*); int main(int argc, char* argv[]) { if (argc < 2) { printf("Usage: %s <at-command>\n", argv[0]); exit(-1); } int serial_port = open("/dev/ttyUSB4", O_RDWR); // Check for errors if (serial_port < 0) { printf("Error %i from open: %s\n", errno, strerror(errno)); exit(1); } struct termios tty; // Read in existing settings, and handle any error if(tcgetattr(serial_port, &tty) != 0) { printf("Error %i from tcgetattr: %s\n", errno, strerror(errno)); return 1; } tty.c_cflag &= ~PARENB; // Clear parity bit, disabling parity (most common) tty.c_cflag &= ~CSTOPB; // Clear stop field, only one stop bit used in communication (most common) tty.c_cflag &= ~CSIZE; // Clear all bits that set the data size tty.c_cflag |= CS8; // 8 bits per byte (most common) tty.c_cflag &= ~CRTSCTS; // Disable RTS/CTS hardware flow control (most common) tty.c_cflag |= CREAD | CLOCAL; // Turn on READ & ignore ctrl lines (CLOCAL = 1) tty.c_lflag &= ~ICANON; tty.c_lflag &= ~ECHO; // Disable echo tty.c_lflag &= ~ECHOE; // Disable erasure tty.c_lflag &= ~ECHONL; // Disable new-line echo tty.c_lflag &= ~ISIG; // Disable interpretation of INTR, QUIT and SUSP tty.c_iflag &= ~(IXON | IXOFF | IXANY); // Turn off s/w flow ctrl tty.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL); // Disable any special handling of received bytes tty.c_oflag &= ~OPOST; // Prevent special interpretation of output bytes (e.g. newline chars) tty.c_oflag &= ~ONLCR; // Prevent conversion of newline to carriage return/line feed // tty.c_oflag &= ~OXTABS; // Prevent conversion of tabs to spaces (NOT PRESENT ON LINUX) // tty.c_oflag &= ~ONOEOT; // Prevent removal of C-d chars (0x004) in output (NOT PRESENT ON LINUX) tty.c_cc[VTIME] = 50; // Wait for up to 1s (10 deciseconds), returning as soon as any data is received.; 5 sek ^= 50 tty.c_cc[VMIN] = 0; // Set in/out baud rate to be 9600 cfsetispeed(&tty, B9600); cfsetospeed(&tty, B9600); // Save tty settings, also checking for error if (tcsetattr(serial_port, TCSANOW, &tty) != 0) { printf("Error %i from tcsetattr: %s\n", errno, strerror(errno)); return 1; } // Write to serial port //unsigned char msg[] = { 'a', 't', '+', 'c', 'g', 'p', 'a', 'd', 'd', 'r', '=', '1', '\r' }; unsigned int argv1_len = strlen(argv[1]); char msg[argv1_len+2]; // unsigned char strcpy(msg, argv[1]); ////write_log(msg); strcat(msg, "\r"); write(serial_port, msg, sizeof(msg)); // Allocate memory for read buffer, set size according to your needs char read_buf [256]; // Normally you wouldn't do this memset() call, but since we will just receive // ASCII data for this example, we'll set everything to 0 so we can // call printf() easily. memset(&read_buf, '\0', sizeof(read_buf)); // Read bytes. The behaviour of read() (e.g. does it block?, // how long does it block for?) depends on the configuration // settings above, specifically VMIN and VTIME int num_bytes = read(serial_port, &read_buf, sizeof(read_buf)); // n is the number of bytes read. n may be 0 if no bytes were received, and can also be -1 to signal an error. if (num_bytes < 0) { printf("Error reading: %s", strerror(errno)); close(serial_port); return 1; }else if (num_bytes == 0) { printf("0"); close(serial_port); return 1; } // Here we assume we received ASCII data, but you might be sending raw bytes (in that case, don't try and // print it to the screen like this!) //printf("Read %i bytes. Received message: %s", num_bytes, read_buf); printf("%s", read_buf); fflush(stdout); ////removeLeadingNewlines(read_buf); ////write_log(read_buf); close(serial_port); return 0; // success } 这是我的 Makefile,它的构建没有错误或警告: WARNFLAGS = -W -Wall -Werror OPTFLAGS = -O3 DEBUGFLAGS = -ggdb3 -DDEBUG CFLAGS += $(WARNFLAGS) binaries = at_commander ifdef DEBUG CFLAGS += $(DEBUGFLAGS) else CFLAGS += $(OPTFLAGS) endif all: $(binaries) at_commander: some_functions.c clean: $(RM) *~ $(binaries) *.o 问题是为什么现在不规则地输出到控制台: root@OpenMPTCProuter:~/autostart# ./at_commander at root@OpenMPTCProuter:~/autostart# ./at_commander at root@OpenMPTCProuter:~/autostart# ./at_commander at root@OpenMPTCProuter:~/autostart# ./at_commander at OK root@OpenMPTCProuter:~/autostart# ./at_commander at root@OpenMPTCProuter:~/autostart# ./at_commander at root@OpenMPTCProuter:~/autostart# ./at_commander at OK root@OpenMPTCProuter:~/autostart# ./at_commander at OK root@OpenMPTCProuter:~/autostart# ./at_commander at root@OpenMPTCProuter:~/autostart# ./at_commander at root@OpenMPTCProuter:~/autostart# ./at_commander at OK root@OpenMPTCProuter:~/autostart# 首先我认为这与刷新有关,但也许与我的代码中的错误时机有关。 提前谢谢您! 为什么当这个ttyUSB通过C寻址时,... 您的标题和问题表明您要么对自己正在做的事情了解不够,并且/或者写得不好。 “ttyUSB 设备”不是端点设备(例如闪存驱动器),而是通信接口。假设您使用电缆将某些设备连接到此“ttyUSB 设备”,并且您的目的是与该连接的设备进行通信。然而,您完全忽略了提及任何其他设备的任何信息。 ...有时某些内容会写入标准输出,有时则不会? 您对名词“something”的使用是不明确的,并且完全忽视了以下事实:这涉及(a)命令消息由您的程序传输,(b)该消息必须由远程单元接收和处理,( c) 响应消息必须由该远程单元传输,并且 (d) 该响应消息必须由您的程序接收/读取。 换句话说,“something”是来自远程单元/设备的响应,而(您的程序)失败为“sometimes not”表示该远程单元/设备没有响应。 所连接设备的间歇性响应可能表明向该设备发送了不正确的消息。最坏的情况是连接不良/不良(即电缆/硬件问题)。 您的帖子中只有一些线索可以识别您的程序尝试与之通信的连接设备。一种是注释掉的初始化。有对“at-command”的引用。显然,连接的设备是使用 AT(又名 Hayes)命令集的调制解调器。 您发布的程序有各种小问题,其中大部分已在评论中提到。 IMO 程序中的显着错误是发送消息/命令时不正确的行终止。 AT命令的格式为: 命令以AT开头,大小写均可; 命令以回车符和换行符结束。 但是,您的程序(如发布的那样)以换行符和空字符终止消息。调制解调器可能会感到困惑,因为它没有接收到关键的回车符。因此,偶尔会有OK的回应。

回答 1 投票 0

如何检测正在使用的FTDI设备?

我正在编写一个 C++ 应用程序,它通过 FTD2xx.dll 库使用多种类型的 FTDI 设备(我不使用虚拟 COM 端口)。我使用 FT_CreateDeviceInfoList 函数来搜索连接的设备。 ...

回答 3 投票 0

如何让 Linux FunctionFS USB Gadget 在 Windows 10 上注册为 WINUSB 设备?

我有一个 BeagleBone Blue,我正在尝试将其构建到一个小型 USB 设备中,以便在我的 Windows 计算机上进行通信。 我有一个在启动时运行的 shell 脚本,用于配置

回答 1 投票 0

使 LED 可从 hid 设备访问

我有一个带有三个 LED 的 winwing 舵踏板,但这些 LED 不能直接从 USB hid evdev 访问, /sys/bus/hid/devices/0003:xxxx/输入/inputxx/功能/led 报告 0。 报告

回答 1 投票 0

Android 手机可以用作 2FA 设备吗?

是否可以将Android用作2FA设备,例如2因素YubiKey棒?看起来应该是可能的,因为我知道 Android 能够作为 USB 配件进行连接。

回答 2 投票 0

禁用 Android USB 充电

如果可能的话,我需要知道一种方法,在 Nexus 7 插入电脑时禁用 USB 电池充电。我正在对我的设备进行一些测试,为了获得更好的结果,我需要插入设备但不插入

回答 4 投票 0

为什么hidapi不再显示任何设备?

我有 USB 实时时钟 (RTC),它连接到嵌入式 Linux 设备。 RTC 通过 i2c 访问,i2c 通过 USB 公开。 我通过 PyMCP2221A 模块访问 RTC,这实际上...

回答 1 投票 0

USB CDC 冻结(主机到设备传输)

我的设置 我尝试在 GD32F405 (=STM32) 微控制器上使用 USB FS 主机。我使用 CMSIS 并直接对寄存器进行操作。 我有 Android 设备,默认情况下作为 VCP(虚拟 COM 端口)工作并且

回答 1 投票 0

无需开机即可自动挂载USB驱动器到树莓派

我有树莓派3B。它在 Raspbian GNU/Linux 9(延伸)上运行。我看到了一些关于安装 USB 驱动器的教程,但大多数有两种方法: -手动安装该驱动器, -安装该驱动器

回答 2 投票 0

Android USB API:在充电和数据发送之间切换

我开始使用 Android USB API 将数据从 Arduino 发送到 Android 设备。是否可以以编程方式在发送/接收数据之间切换并只为 Android 手机充电? 我...

回答 3 投票 0

Windows 机器作为 USB-488/USBTMC 设备

我想使用Windows机器作为USB488/USBTMC设备。 USB488/USBTMC 是 USB 导轨上旧式 GPIB/IEEE-488 的重新实现。但有关该主题的大多数文章都提到 Windows ma...

回答 2 投票 0

android:用于机器人应用程序的外部 USB 设备的 api

Android 设备变得非常便宜(尤其是那些带有 android v1.6 的设备)。 我正在考虑用它作为自主机器人的大脑。不幸的是我没有找到任何相关信息。 我想要...

回答 2 投票 0

如何从连接到android、java解决方案的外部USB驱动器读取文件

我有一个React Native应用程序,在连接外部USB设备时我需要找到某个根目录。 DataXYZ.txt 文件并能够共享它,因为据我所知反应本机......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.