USB Audio&hid 混合设备的描述符详解

2023-11-13

/* USB Standard Device Descriptor */
__ALIGN_BEGIN uint8_t USBD_HS_DeviceDesc[USB_LEN_DEV_DESC] __ALIGN_END =
  {
    0x12,                       /*bLength */
    USB_DESC_TYPE_DEVICE,       /*bDescriptorType*/
#if (USBD_LPM_ENABLED == 1)
    0x01,                       /*bcdUSB */ /* changed to USB version 2.01 
                                               in order to support LPM L1 suspend
                                               resume test of USBCV3.0*/
#else  
    0x00,                       /* bcdUSB  USB version 2.00*/
#endif


    0x02,
    0x00,                       /*bDeviceClass  */
    0x00,                       /*bDeviceSubClass*/
    0x00,                       /*bDeviceProtocol*/
    USB_MAX_EP0_SIZE,          /*bMaxPacketSize  64*/
    LOBYTE(USBD_VID),           /*idVendor  0x0483*/
    HIBYTE(USBD_VID),           /*idVendor*/
    LOBYTE(USBD_PID_HS),           /*idVendor 0x5730*/
    HIBYTE(USBD_PID_HS),           /*idVendor*/
    0x00,                       /*bcdDevice rel. 2.00*/
    0x02,
    USBD_IDX_MFC_STR,           /*Index of manufacturer  string  STMicroelectronics*/
    USBD_IDX_PRODUCT_STR,       /*Index of product string  STM32 Audio Class*/
    USBD_IDX_SERIAL_STR,        /*Index of serial number string  00000000001A*/
    USBD_MAX_NUM_CONFIGURATION  /*bNumConfigurations*/

  } ; 



/* USB AUDIO device Configuration Descriptor */
__ALIGN_BEGIN static uint8_t USBD_AUDIO_CfgDesc[USB_AUDIO_CONFIG_DESC_SIZ] __ALIGN_END =
{
    //Configuration:wTotalLength = 0x00be,NumInterfaces = 0x03,
    0x09,    //Length
    USB_DESC_TYPE_CONFIGURATION,    //DescriptorType : ConfigDescriptor 0x02
    LOBYTE(USB_AUDIO_CONFIG_DESC_SIZ),    /* wTotalLength  0xE0bytes*/
    HIBYTE(USB_AUDIO_CONFIG_DESC_SIZ),
    0x04,      //NumInterfaces:4
    0x01,    //ConfigurationValue
    0x00,    //Configuration String  iConfiguration
    0xC0,    //Attributes:Bus Power 4..0: Reserved  ...00000  4..0: Reserved  ...00000  6: Self Powered  .1......  Yes  6: Self Powered  .1......  Yes  
    0x32,     //MaxPower = 0x32*2ma  100mA
    /* 9Bytes */


    //standard interface AC descriptor(Interface 0, Alternate Setting 0):
    //bNumEndpoints = 0x00,bInterFaceClass = 0x01(audio),bInterfaceSubClass = 0x01(audio ctl),
    AUDIO_INTERFACE_DESC_SIZE,    //Length 09 
    USB_DESC_TYPE_INTERFACE,     //4 DescriptorType:Inerface 04
    0x00,     //InterfaceNum:0
    0x00,       //AlternateSetting:0
    0x00,       //NumEndpoint:0
    USB_DEVICE_CLASS_AUDIO,       //InterfaceClass:audio  0x01  audio
    AUDIO_SUBCLASS_AUDIOCONTROL,       //InterfaceSubClass:audio ctl  0x01  audio control
    AUDIO_PROTOCOL_UNDEFINED,       //InterfaceProtocol  0x00
    0x00,      //Interface String inlterface
    /* 9Bytes */


    //class-specific AC interface descriptor,audio interface(0x24),audio control header(0x01),
    //Total Length 0x0048,Number of streaming interface 2,interfaceNr 2,1
    //Audio Control Interface Header Descriptor 
    0x0a,    //Length
    AUDIO_INTERFACE_DESCRIPTOR_TYPE,//DescriptorType:audio interface descriptor  0x24
    AUDIO_CONTROL_HEADER,     //DescriptorSubType:audio control header  0x01
    0x00,0x01,  //bcdADC:audio Device Class v1.00
    0x46,0x00,  //TotalLength:0x0046
    0x02,      //InCollection:2 AudioStreaming interface
    0x02,      //InterfaceNr(2) - AS #1 id AudioStreaming interface 2 belongs to this AudioControl interface
    0x01,     //InterfaceNr(1) - AS #2 id AudioStreaming interface 1 belongs to this AudioControl interface
    /* 10Bytes */


    //USB Microphone IT:audio interface descriptor,audio control input terminal(0x02),terminal id 0x01,
    //Microphone(0x0201),Input Terminal(0x02),2 channel:Left Front,Right Front
    // Audio Control Input Terminal Descriptor 
    AUDIO_INPUT_TERMINAL_DESC_SIZE,    //Length  0x0c
    AUDIO_INTERFACE_DESCRIPTOR_TYPE,    //DescriptorType:audio interface descriptor 0x24
    AUDIO_CONTROL_INPUT_TERMINAL,     //DescriptorSubType:Input Terminal  0x02
    0x01,     //TerminalID:0x01
    0x01,0x02,  //TerminalType:USB Microphone
    0x00,      //AssocTerminal
    0x02,///      //NrChannels:2 channel
    0x00,0x00,  //ChannelConfig:Left Front,Right Front,
    0x00,       //ChannelName String
    0x00,       //Terminal String
    /* 12Bytes */


    //Audio Feature Unit Descriptor:audio interface descriptor,feature_unit(0x06),terminal id 0x02,
    //SourceId 0x01,ControlSize 0x01,Mute,Volume,
    //Audio Control Feature Unit Descriptor 
    0x09,    //Length  0x09
    AUDIO_INTERFACE_DESCRIPTOR_TYPE,      //DescriptorType:audio interface descriptor 0x24
    AUDIO_CONTROL_FEATURE_UNIT,      //DescriptorSubType:Audio Feature Unit 0x06
    AUDIO_OUT_STREAMING_CTRL,       //UnitID:0x02
    0x01,      //SourceID:1 #Microphone IT
    0x01,      //ControlSize:1 byte
    0x01,     //Controls:Mute
    0x00,      //Controls(0):Volume
    // 0x02,       //Controls(1):Volume
    0x00,       //Feature String
    /* 10Bytes */


    //USB Streaming OT:audio interface descriptor,audio control output terminal(0x03),terminal id 0x03,
    //USB Streaming(0x0101),Output Terminal(0x03),SourceId 0x02,
    //Audio Control Output Terminal Descriptor 
    0x09,    //Length  0x09
    AUDIO_INTERFACE_DESCRIPTOR_TYPE, //DescriptorType:audio interface descriptor  0x24
    AUDIO_CONTROL_OUTPUT_TERMINAL,  //DescriptorSubTYpe:Output Terminal 0x03
    0x03,      //TerminalID:0x03
    0x01,0x01,  //TerminalType:USB Streaming
    0x00,       //AssocTerminal:ID 0
    0x02,      //SourceID:2 #Feature UNIT
    0x00,       //Terminal String
    /* 9Bytes */


    //USB Streaming IT:audio interface descriptor,audio control input terminal(0x02),terminal id 0x04,
    //USB Streaming(0x0101),Input Terminal(0x02),2 channel:Left Front,Right Front
    //Audio Control Input Terminal Descriptor 
    0x0c,       //Length  0x0c
    0x24,       //DescriptorType:audio interface descriptor
    0x02,       //DescriptorSubType:Input Terminal
    0x04,       //TerminalID:0x04
    0x01,0x01,  //TerminalType:USB Streaming
    0x00,       //AssocTerminal
    0x02,       //NrChannels:2 channel
    0x00,0x00,  //ChannelConfig:Left Front,Right Front,
    0x00,       //ChannelName String
    0x00,       //Terminal String
    /*12Bytes */


    //Audio Feature Unit Descriptor:audio interface descriptor,feature_unit(0x06),terminal id 0x05,
    //SourceId 0x04,ControlSize 0x01,Mute,Volume,
    //Audio Control Feature Unit Descriptor 
    0x09,    //Length  0x09
    0x24,      //DescriptorType:audio interface descriptor
    0x06,       //DescriptorSubType:Audio Feature Unit
    0x05,       //UnitID:0x05
    0x04,      //SourceID:4 #USB Streaming IT
    0x01,      //ControlSize:1 byte
    0x01,      //Controls:Mute,
    0x00,       //Controls(0):Volume
    // 0x02,      //Controls(1):Volume
    0x00,       //Feature String
    /* 10Bytes */


    //USB Speaker OT:audio interface descriptor,audio control output terminal(0x03),terminal id 0x06,
    //USB Speaker(0x0301),Output Terminal(0x03),SourceId 0x05,
    //Audio Control Output Terminal Descriptor 
    0x09,      //Length  0x09
    AUDIO_INTERFACE_DESCRIPTOR_TYPE,      //DescriptorType:audio interface descriptor 0x24
    AUDIO_CONTROL_OUTPUT_TERMINAL,      //DescriptorSubTYpe:Output Terminal 0x03
    0x06,      //TerminalID:0x06
    0x01,0x03,  //TerminalType:Speaker
    0x00,       //AssocTerminal:
    0x05,      //SourceID:5 #Feature UNIT
    0x00,      //Terminal String
    /* 9Bytes */


    //-------------------Microphone  interface---------------------//
    //standard interface AS descriptor(Interface 1, Alternate Setting 0):
    //bNumEndpoints = 0x00,bInterFaceClass = 0x01(audio),bInterfaceSubClass = 0x02(audio stream),
    //Interface Descriptor 1/0 Audio, 0 Endpoints
    AUDIO_INTERFACE_DESC_SIZE,    //Length  0x09
    USB_DESC_TYPE_INTERFACE,       //DescriptorType:Interface 4
    0x01,      //InterfaceNum:1
    0x00,      //AlternateSetting:0
    0x00,       //NumEndpoint:0
    USB_DEVICE_CLASS_AUDIO,      //InterfaceClass:audio  0x01
    AUDIO_SUBCLASS_AUDIOSTREAMING,      //InterfaceSubClass:audio streaming  0x02
    AUDIO_PROTOCOL_UNDEFINED,       //InterfaceProtocol  0x00
    0x00,       //Interface String
    /* 9Bytes */


    //standard interface AS descriptor(Interface 1, Alternate Setting 1):
    //bNumEndpoints = 0x01,bInterFaceClass = 0x01(audio),bInterfaceSubClass = 0x02(audio stream),
    //Interface Descriptor 1/1 Audio, 1 Endpoint
    AUDIO_INTERFACE_DESC_SIZE,    //Length  0x09
    USB_DESC_TYPE_INTERFACE,      //DescriptorType:Interface  4
    0x01,      //InterfaceNum:1
    0x01,      //AlternateSetting:1
    0x01,       //NumEndpoint:1
    USB_DEVICE_CLASS_AUDIO,      //InterfaceClass:audio  0x01
    AUDIO_SUBCLASS_AUDIOSTREAMING,       //InterfaceSubClass:audio streaming  0x02
    AUDIO_PROTOCOL_UNDEFINED,      //InterfaceProtocol  0x00
    0x00,       //Interface String
    /* 9Bytes */


    //Audio Streaming Interface Descriptor:AS_GENERAL(0x01),
    //TerminalLink 0x03,PCM(0x0001)
    //Audio Streaming Interface Descriptor 
    AUDIO_STREAMING_INTERFACE_DESC_SIZE,    //Length  0x07
    AUDIO_INTERFACE_DESCRIPTOR_TYPE,       //DescriptorType:audio interface descriptor 0x24
    AUDIO_STREAMING_GENERAL,      //DescriptorSubType:AS_GENERAL  0x01
    0x03,       //TerminalLink:#3USB USB Streaming OT
    0x00,       //Delay:0
    0x01,0x00,  //FormatTag:PCM
    /* 7Bytes */


    //Type 1 Format type descriptor:FORMAT_TYPE(0x02),FORMAT_TYPE_I(0x01),
    //physical channels 0x02,two byte per audio subframe(0x02),16bit,
    //Audio Streaming Format Type Descriptor 
    0x0b,    //Length  0x0b
    AUDIO_INTERFACE_DESCRIPTOR_TYPE, //DescriptorType:audio interface descriptor 0x24
    AUDIO_STREAMING_FORMAT_TYPE,  //DescriptorSubType:Format_type  0x02
    AUDIO_FORMAT_TYPE_I,       //FormatType:Format type1  0x01
    0x02,      //NumberOfChanne:2
    0x02,       //SubframeSize:2byte
    0x10,      //BitsResolution:16bit
    0x01,       //SampleFreqType:One sampling frequency.
    AUDIO_SAMPLE_FREQ(USBD_AUDIO_FREQ),   //32K(0x007d00)
    /* 11Bytes */


    //Endpoint 1 - Standard Descriptor:Input Endpoint1
    //Isochronous,Synchronization Type(Asynchronous),MaxPacketSize 0x0084,
    //Endpoint Descriptor 82 2 In, Isochronous, 1 ms
    0x09,     //Length  0x09
    USB_DESC_TYPE_ENDPOINT,      //DescriptorType:endpoint descriptor 0x05 Endpoint
    AUDIO_IN_EP,       //EndpointAddress:Input endpoint 2  0x82 2In
    0x0D,       //Attributes:0x0D, 1..0: Transfer Type  ......01  Isochronous  3..2: Sync Type  ....11..  Synchronous  5..4: Usage Type  ..00....  Data  7..6: Reserved  00......    
    AUDIO_PACKET_SZE(USBD_AUDIO_FREQ),  //0, 192 bytes   wMaxPacketSize USBD_AUDIO_FREQ 48000
    0x01,      //Interval   1 ms
    0x00,                                 /* bRefresh */
    0x00,                                 /* bSynchAddress */
    //  /* 09 byte*/
    /* 7Bytes */


    //Endpoint - Audio Streaming Descriptor:
    //Audio Endpoint descriptor,General,
    //Audio Streaming Isochronous Audio Data Endpoint Descriptor  (There is no parsing)
    AUDIO_STREAMING_ENDPOINT_DESC_SIZE,    //Length  0x07
    AUDIO_ENDPOINT_DESCRIPTOR_TYPE,      //DescriptorType:audio endpoint descriptor  0x25
    AUDIO_ENDPOINT_GENERAL,      //DescriptorSubType:audio endpiont general  0x01
    0x00,       //Attributes:0x00........
    0x00,      //LockDelayUnits
    0x00,0x00,  //LockDelay
    /* 7Bytes */


    //-------------------Speaker  interface---------------------//
    //standard interface AS descriptor(Interface 2, Alternate Setting 0):
    //bNumEndpoints = 0x00,bInterFaceClass = 0x01(audio),bInterfaceSubClass = 0x02(audio stream),
    //Interface Descriptor 2/0 Audio, 0 Endpoints
    AUDIO_INTERFACE_DESC_SIZE,      //Length  0x09
    USB_DESC_TYPE_INTERFACE,      //DescriptorType:Interface  0x04
    0x02,       //InterfaceNum:2
    0x00,       //AlternateSetting:0
    0x00,      //NumEndpoint:0
    USB_DEVICE_CLASS_AUDIO,       //InterfaceClass:audio  0x01
    AUDIO_SUBCLASS_AUDIOSTREAMING,      //InterfaceSubClass:audio streaming  0x02
    AUDIO_PROTOCOL_UNDEFINED,      //InterfaceProtocol  0x00
    0x00,       //Interface String
    /* 9Bytes */


    //standard interface AS descriptor(Interface 2, Alternate Setting 1):
    //bNumEndpoints = 0x01,bInterFaceClass = 0x01(audio),bInterfaceSubClass = 0x02(audio stream),
    //Interface Descriptor 2/1 Audio, 1 Endpoint
    AUDIO_INTERFACE_DESC_SIZE,      //Length  0x09
    USB_DESC_TYPE_INTERFACE,      //DescriptorType:Interface 4
    0x02,       //InterfaceNum:2
    0x01,       //AlternateSetting:1
    0x01,       //NumEndpoint:1
    USB_DEVICE_CLASS_AUDIO,      //InterfaceClass:audio  0x01
    AUDIO_SUBCLASS_AUDIOSTREAMING,       //InterfaceSubClass:audio streaming  0x02
    AUDIO_PROTOCOL_UNDEFINED,       //InterfaceProtocol  0x00
    0x00,      //Interface String
    /* 9Bytes */


    //Audio Streaming Interface Descriptor:AS_GENERAL(0x01),
    //TerminalLink 0x04,PCM(0x0001)
    //Audio Streaming Interface Descriptor 
    AUDIO_STREAMING_INTERFACE_DESC_SIZE,      //Length  0x07
    AUDIO_INTERFACE_DESCRIPTOR_TYPE,       //DescriptorType:audio interface descriptor 0x24
    AUDIO_STREAMING_GENERAL,       //DescriptorSubType:AS_GENERAL 0x01
    0x04,      //TerminalLink:#4 USB Streaming IT
    0x00,      //Delay:0
    0x01,0x00,  //FormatTag:PCM
    /* 7Bytes */


    //Type 1 Format type descriptor:FORMAT_TYPE(0x02),FORMAT_TYPE_I(0x01),
    //physical channels 0x02,two byte per audio subframe(0x02),16bit,
    //32K(0x007d00)
    //Audio Streaming Format Type Descriptor 
    0x0b,     //Length  0x0b
    AUDIO_INTERFACE_DESCRIPTOR_TYPE,       //DescriptorType:audio interface descriptor
    AUDIO_STREAMING_FORMAT_TYPE,      //DescriptorSubType:Format_type
    AUDIO_FORMAT_TYPE_I,       //FormatType:Format type 1
    0x02,       //NumberOfChanne:2
    0x02,       //SubframeSize:2byte
    0x10,      //BitsResolution:16bit
    0x01,      //SampleFreqType:One sampling frequency.
    AUDIO_SAMPLE_FREQ(USBD_AUDIO_FREQ),   //
    /* 11Bytes */


    //Endpoint 2 - Standard Descriptor:Output Endpoint2
    //Isochronous,Synchronization Type(Asynchronous),MaxPacketSize 0x0084,
    //Endpoint Descriptor 01 1 Out, Isochronous, 1 ms
    0x09,      //Length  0x09
    USB_DESC_TYPE_ENDPOINT,       //DescriptorType:endpoint descriptor 0x05
    AUDIO_OUT_EP,       //EndpointAddress:Output endpoint 1  0x01
    0x0D,      //Attributes:0x0d,Isochronous,Synchronization Type(Asynchronous)......... 1..0: Transfer Type  ......01  Isochronous 3..2: Sync Type  ....11..  Synchronous  5..4: Usage Type  ..00....  Data  7..6: Reserved  00......  
    AUDIO_PACKET_SZE(USBD_AUDIO_FREQ),  //MaxPacketSize 192 bytes
    0x01,      //Interval  1ms
    0x00,                                 /* bRefresh */
    0x00,                                 /* bSynchAddress */
    /* 09 byte*/
    /* 7Bytes */


    //Endpoint - Audio Streaming Descriptor:
    //Audio Endpoint descriptor,General,
    //Audio Streaming Isochronous Audio Data Endpoint Descriptor 
    AUDIO_STREAMING_ENDPOINT_DESC_SIZE,       //Length  0x07
    AUDIO_ENDPOINT_DESCRIPTOR_TYPE,       //DescriptorType:audio endpoint descriptor  0x25
    AUDIO_ENDPOINT_GENERAL,       //DescriptorSubType:audio endpiont general  0x01
    0x00,      //Attributes:0x00.............
    0x00,       //LockDelayUnits
    0x00,0x00,  //LockDelay
    /* 7Bytes */


    /************** Descriptor of CUSTOM HID interface ****************/
    //Interface Descriptor 3/0 HID, 2 Endpoints
    /* 09 */
    0x09,         /*bLength: Interface Descriptor size   0x09*/
    USB_DESC_TYPE_INTERFACE,/*bDescriptorType: Interface descriptor type  0x04*/
    0x03,         /*bInterfaceNumber: Number of Interface*/
    0x00,         /*bAlternateSetting: Alternate setting*/
    0x02,         /*bNumEndpoints*/
    0x03,         /*bInterfaceClass: CUSTOM_HID*/
    0x00,         /*bInterfaceSubClass : 1=BOOT, 0=no boot*/
    0x00,         /*nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse*/
    0,            /*iInterface: Index of string descriptor*/
    /******************** Descriptor of CUSTOM_HID *************************/
    /* 18 */
    //HID Descriptor 
    0x09,         /*bLength: CUSTOM_HID Descriptor size 0x09*/
    CUSTOM_HID_DESCRIPTOR_TYPE, /*bDescriptorType: CUSTOM_HID 0x21*/
    0x11,         /*bCUSTOM_HIDUSTOM_HID: CUSTOM_HID Class Spec release number 1.11*/
    0x01,         //1.11
    0x00,         /*bCountryCode: Hardware target country*/
    0x01,         /*bNumDescriptors: Number of CUSTOM_HID class descriptors to follow*/
    0x22,         /*bDescriptorType  Report*/
    USBD_CUSTOM_HID_REPORT_DESC_SIZE,/*wItemLength: Total length of Report descriptor 33 bytes*/
    0x00,
    /******************** Descriptor of Custom HID endpoints ********************/
    /* 27 */
    //Endpoint Descriptor 83 3 In, Interrupt, 9 ms
    0x07,          /*bLength: Endpoint Descriptor size  0x07*/
    USB_DESC_TYPE_ENDPOINT, /*bDescriptorType: 0x05*/
    CUSTOM_HID_EPIN_ADDR,     /*bEndpointAddress: Endpoint Address (IN) 0x83*/
    0x03,          /*bmAttributes: Interrupt endpoint 1..0: Transfer Type  ......11  Interrupt  7..2: Reserved  000000..  */
    CUSTOM_HID_EPIN_SIZE, /*wMaxPacketSize: Byte max  0x40*/
    0x00, //64 bytes
    0x09,          /*bInterval: Polling Interval (9 ms)*/
    /* 34 */


    0x07,         /* bLength: Endpoint Descriptor size  0x07*/
    USB_DESC_TYPE_ENDPOINT, /* bDescriptorType:  0x05*/
    CUSTOM_HID_EPOUT_ADDR,  /*bEndpointAddress: Endpoint Address (OUT) 0x03*/
    0x03, /* bmAttributes: Interrupt endpoint  1..0: Transfer Type  ......11  Interrupt  7..2: Reserved  000000..  */
    CUSTOM_HID_EPOUT_SIZE, /* wMaxPacketSize: 64 Bytes max  0x40*/
    0x00,
    0x09, /* bInterval: Polling Interval (9 ms) */
    /* 41 */


} ;

from: https://blog.csdn.net/baiyibin0530/article/details/78678944




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

USB Audio&hid 混合设备的描述符详解 的相关文章

  • 使用 C# 向 USB 连接的 GPRS 调制解调器发送 AT 命令

    任何人都可以给我一个关于如何访问连接到 USB 端口的 GPRS 调制解调器的良好指示或指南 我应该为我的程序制作一个 USB 驱动程序以将 AT 命令发送到调制解调器吗 或者就像一个路由器 我可以使用IP地址访问它 谢谢 如果 Windo
  • 使用 python 检测 Windows 10 上的 USB 设备插入

    我无法获取以下代码检测USB设备插入 http timgolden me uk python win32 how do i detect device insertion html在我的 Windows 10 64 位 计算机上使用 Pyt
  • 发现多个 USB-IrDA 设备,打开并连接每个设备的套接字

    对于任何优秀的套接字程序员 是否可以使用套接字枚举通过 USB 端口连接到 PC 的多个活动 IrDA 设备 如果是这样 怎么办 这确实是我的主要问题 帖子的其余部分完善了细节并描述了我所尝试的内容 我正在使用 Microsoft SDK
  • 通过 USB 记忆棒携带和操作整个开发盒。可行的?

    最近我一直在考虑投资一个有价值的 USB 笔式驱动器 类似于 并在虚拟机上安装操作系统并开始在其上进行开发 我的想法是 我希望能够携带我的开 发箱 成为一名Windows 发行版用于 Net 开发和Linux发行版像 RoR Perl 之类
  • adb 未检测到 micromax a111

    最近我购买了 micromax a111 Android 设备 我是安卓开发者 因此尝试使用该设备进行调试选项 但 adb 无法检测到该设备 我也更改了设置 但没有成功 如果有人有解决方案 请帮助我解决这个问题 micromax没有官方的P
  • Android 到 PC USB 读/写

    我在 PC 上有一个程序 从 USB 接收字符串输入 旧程序 我有一个 Android 4 X 平板电脑 需要向在 PC 上运行的程序提供 USB 上的字符串输入 当我在 Android 上使用示例代码时 以下代码给出了空的哈希图 PC 在
  • USB 调试 - 安装 Epson Moverio 驱动程序时出现问题

    Android 开发新手 我使用以下命令制作了一个小应用程序Eclipse http en wikipedia org wiki Eclipse 28software 29在虚拟 Android 设备上完美运行 现在 我想在真实的设备上运行
  • Ubuntu 10.1下如何识别多个USB串口适配器

    我正在 Ubuntu 10 1 下从多个相同的 USB 串行适配器读取数据 有时 它们的 dev tty 路径会发生变化 例如 如果在启动时连接了其他 USB 设备 我需要一种通过任何此类更改重复引用同一适配器的方法 据 udevadm 称
  • 如何在没有窗口句柄的情况下使用 RegisterDeviceNotification?

    我正在编写一个 DLL 库 该库使用 VB NET 中的 winusb 连接到 USB 设备 由于它是一个 DLL 所以我没有窗口 而且我的库的用户也可能没有窗口 例如命令行应用程序 我见过的检测设备连接和分离的示例都使用RegisterD
  • 如何枚举所有HID设备? C#

    我需要枚举连接到我的 PC 的所有 HID 设备 我尝试使用这个答案 https stackoverflow com a 3331509 902424 但它枚举了 USBHub 设备 但我在那里找不到我的 HID 设备 EDIT 我很高兴知
  • STM32F0、ST-link v2、OpenOCD 0.9.0:打开失败

    我在用着发射台 http www ti com ww en launchpad about htmlgcc arm none eabi 4 9 2015q2 为 STM32F0 进行编译 现在我想使用该集合中的 arm none eabi
  • HAL_Delay() 陷入无限循环

    我被 HAL Delay 函数困住了 当我调用此函数 HAL Delay 时 控制陷入无限循环 在寻找问题的过程中 我发现了这个 http www openstm32 org forumthread2145 threadId2146 htt
  • 使用 STM32F0 ADC 单独读取不同的输入

    STM32F072CBU 微控制器 我有多个 ADC 输入 并且希望单独读取它们 STMcubeMX 生成样板代码 假设我希望按顺序读取所有输入 但我无法弄清楚如何纠正这个问题 这篇博文 http blog koepi info 2015
  • c#.NET USB设备持久标识符

    我正在寻找一种在 C 中为 USB 插槽 更具体地说是 SD 卡读卡器 提供持久标识符 在最终用户拔下集线器 重新启动计算机时 的方法 驱动器号并不总是分配给同一个插槽 但我需要一种方法来物理识别插槽 A 一旦我能够识别它 我就可以连接到驱
  • 在 Linux (libusb-1.0) 上访问 USB 设备?

    我正在编写一个小程序 使用 Linux 上的 libusb 1 0 与特定 USB HID 产品 由供应商和产品 ID 标识 进行通信 现在 我必须以 root 身份运行该程序 因为 libusb 需要对 USB 设备节点的写访问权限 有没
  • 如何使用 python / pywinusb 将 hid 数据发送到设备?

    我正在尝试使用 pywinusb 将输出报告发送到 pic18f4550 该设备可以接收数据 我已经使用 C 应用程序对其进行了测试 效果很好 另外 我可以使用 pywinusb 从设备读取数据 但我在尝试发送数据时遇到问题 这是我正在运行
  • Android 两次请求 USB 许可

    我有一个运行 Android 4 0 4 的开发板 并将其用作 USB 配件 当我关闭板上的应用程序然后通过 USB 插入 Android 手机时 板会提示 连接此 USB 设备时打开 AppName 当我触摸 确定 时 应用程序启动并再次
  • 有没有办法通过 WiFi 部署/调试 Cordova Android Ionic 应用程序? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 这是一个双胞胎this https stackoverflow com questions 46596236 is there a w
  • 我可以将 SQL Server 安装在 USB 驱动器上吗?

    我是一名开发人员 如果可以的话 我经常远程工作 而不是通勤上班 我希望能够随身携带开发数据库环境 我知道我可以远程访问数据库 但速度很慢 我有时在没有无线连接的地方工作 有任何想法吗 是的 这是可能的 看this http social m
  • 以编程方式连接和断开 USB,“无需拔出和重新插入”

    我需要以编程方式连接和断开 USB 也就是说 我已经插入了USB设备 我需要使用 C NET 应用程序传输文件 该应用程序将监视特定文件夹并将文件从该文件夹传输到 USB 驱动器 我需要在文件传输后断开 USB 设备的连接 并在需要时连接

随机推荐

  • Python复习的知识点

    python语言程序设计基础的复习笔记 第一章内容 1 在python语言中解释和编译的区别 编译 编译是将源代码转换成目标代码的过程 源代码是计算机高级语言的代码 而目标代码则是机器语言的代码 执行编译的计算机程序称为编译器 Compil
  • T1 载波速率 为什么是1.544Mbps?

    这是大二时上的一节网络通信技术基础上学的内容 期末时却没能写出来 一直觉得有些遗憾 所以写在博客的第一篇 希望自己可以激励自己 知错则改 不断进步 分割线 人的话音信道在4Mhz之内 根据奈奎斯特采样定理按照2倍8MHz采样 并128级量化
  • 大工17春计算机组成原理,大工17春《计算机组成原理》在线作业3

    谋学网http doc wendoc com 一 单选题 共 10 道试题 共 50 分 V 1 是构成控制信号序列的最小单位 A 微程序 B 微操作命令 C 微指令 D 控制存储器 2 寻址方式中的寄存器间接寻址 其操作数处在 A 通用寄
  • win10打印机终结点映射器_解决win8打印机提示“终结点映射器中没有更多的终结点可用”的方法...

    打印机是我们办公是必备的一个设备 因此想必大家在办公室都给电脑安装了打印机吧 最近有位Win8用户在给电脑安装打印机的时候遇到了一个错误提示 虽然成功的安装了打印机 但是系统却提示 终结点映射器中没有更多的终结点可用 遇到这样的错误提示之后
  • 杂记——11.eclipse中更改Tomcat的配置

    这篇文章讲一下在eclipse中如何更改Tomcat的相关配置 第一步 打开eclipse 第二步 点击下方视窗的Servers 第三步 双击Tomcat 然后如下图所示 第四步 设置Tomcat的启动时间 第五步 启动Tomcat
  • gitee同一台电脑使用多个账号的问题

    官方文档 https gitee com help articles 4238 article header0 目录 一 通过 https ssh 协议推拉代码 二 通过 https 推拉代码但是存在多个账号的问题 三 通过 ssh 推拉代
  • python3 判断列表是一个空列表

    python3 判断空列表 python3 有个判断列表是否为空的需求 试了好多方式 比如 a if a is not None COMMAND a if a 0 is None COMMAND 各种乱七八糟的逻辑 老是无法满足 其实很简单
  • Unity3D笔记第三天——GUI

    GUI GUI是Graphical User Interface的缩写 Unity的图形界面系统能容易和快速创建出各种交互界面 与传统的方法 创建GUI对象 标出位置 再写对应的事件函数不同 只需要用很少的代码 就可以把这些工作搞定 原理是
  • 2023企业级数仓建设概要

    一 前言 1 1 背景 无忧搬家数据以前很多都是数仓同学从业务库负责接入数据至ods层 然后就由各个下游分析师取ods贴源层数据然后进行取数计算分析 数仓这边缺乏沉淀公共层数据 从而有以下问题 直接从ods贴源层取数据 业务研发侧一改造则下
  • FastMM内存管理器在使用多线程情况下需要注意的问题。

    FastMM内存管理器在使用多线程情况下需要注意的问题 问题1 注 如果你在Delphi中 只是用TThread类创建线程 不会用到API函数CreateThread创建线程 哪么下面这篇文章你可以完全忽视 当然 如果你耐心的看完了下面这篇
  • 如何编写一份完整的软件测试报告?(进阶版)

    目录 背景 一 什么是测试报告 二 测试报告是给谁看的 三 测试报告应该怎么写 1 测试报告的内容 1 1 工作内容 1 2 软件结果 1 3 展开说说 1 4 你的价值 2 测试报告的结构 2 1 首先呈现出你的结论 2 2 当前遗留问题
  • 伪需求 or 新机遇——2018年DApp分析

    DApp的全称为Decentralized Application 是指去中心化应用或者分布式应用 DApp的出现是区块链应用落地的有益尝试 DApp也被认为是开启了区块链3 0时代的产品 因此 DApp被众多区块链业内人士寄予厚望 尽管2
  • 51单片机使用定时器0定时1ms的配置操作

    51单片机使用定时器0定时1ms的配置操作 51单片机的定时器0结构 配置的定时器0的方式 配置的程序代码内容 51单片机的定时器0结构 51单片机是一种广泛应用于嵌入式系统中的芯片 具有强大的计时和计数功能 其中的定时器0可以用来实现精确
  • 嘴说手画Spark的Bykey操作-groupByKey、reduceByKey、aggregateByKey 和 sortByKey

    之前写过一篇文章分析Spark Shuffle的原理 知道了Shuffle是性能杀手的原因 但在实际业务中 Shuffle操作通常不可避免 毕竟Spark基础的用途就是对大数据进行统计分析 由于数据分布的分散性 导致相同Key的数据汇集到一
  • 只能看到部分局域网计算机,为什么局域网中只能看到部分电脑

    局域网中只能看到部分电脑的原因 那是因为其他电脑没有开启共享模式 也就是来宾账号关闭了 需要在用户组中打开才行 局域网共享设置步骤如下 1 更改不同的计算机名 设置相同的工作组 2 我的电脑右键 管理 计算机管理 本地用户和组 用户 更改管
  • 计算机基础 英语名称,计算机英语词汇:计算机基础知识

    computer n 电脑 电子计算机 arithmetic logic unit 算术逻辑部件 manipulate vt 操纵 操作 keyboard n 键盘 information n 消息 知识 printer n 打印机 han
  • Log.d 日志调试查看(所有平台)

    https www cnblogs com onechen p 6436748 html http docwiki embarcadero com Libraries Berlin en FMX Types Log d 转载于 https
  • 如何去除数据库中重复的数据

    去除数据库中重复的数据 准备工作 方法一 用distinct 联合去重 方法二 使用窗口函数限制row number 1 方法三 使用窗口函数删除row number gt 1 方法四 group by去重 准备工作 原始表users CR
  • vs调试时报错:变量已被优化掉,因而不可用

    前言 使用vs运行程序时 发现不是每次运行的结果都一致 抛开多线程的因素 比方说我用openGL加载骨骼动画数据 有时候能加载出骨骼纹理 有时候就不行 很头疼 在调试问题的时候就遇见vs调试器报错 变量已被优化掉 因而不可用 解决 在vs顶
  • USB Audio&hid 混合设备的描述符详解

    USB Standard Device Descriptor ALIGN BEGIN uint8 t USBD HS DeviceDesc USB LEN DEV DESC ALIGN END 0x12 bLength USB DESC T