happysoul 发表于 2023-7-24 16:59:30

使用工具箱例子60HID 里面没有USB-HID收发函数

使用例子 60-HID(Human Interface Device)协议范例

修改了 usb_desc.c 文件中的 vid pid 和对应的显示内容
电脑可以识别
但是因为这里面没有 lib 库函数,无法使用 USB_SendData,这个例子里的代码也都没有注释,不知道该怎么使用
while (1)
    {
      if (bUsbOutReady)
      {
            USB_SendData(UsbOutBuffer,OutNumber);   //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
            
            usb_OUT_done();
      }
    }



乘风飞扬 发表于 2023-7-24 19:43:28

例程60 HID例子是在接收中断处理函数里将收到的数据原样返回:



USB HID数据收发需要在“中断输入输出”标签测试:


happysoul 发表于 2023-7-24 21:24:43

乘风飞扬 发表于 2023-7-24 19:43
例程60 HID例子是在接收中断处理函数里将收到的数据原样返回:





有没有能修改 vid pid Manufacturer Product 的库文件用
例子都比较零散 很难合并到一起
想用 STC_HID_QUERY_LIBRARY 的库,还能修改参数

ahong 发表于 2024-1-8 11:17:59

我也在找不原样返回的例子,官方这个原样返回的范例太不友好了,无法实现理解发回自己的数据要怎么做

happysoul 发表于 2024-1-9 16:17:38

ahong 发表于 2024-1-8 11:17
我也在找不原样返回的例子,官方这个原样返回的范例太不友好了,无法实现理解发回自己的数据要怎么做 ...

u8 cmdBuffer;

//执行命令缓存
void readCommand(void)
{
    uint8_t i;
    while(1)
    {
      if (bUsbOutReady)
      {
      if(OutNumber>0){
          for(i=0;i<OutNumber;i++){
            cmdBuffer=UsbOutBuffer;
          }
          usb_OUT_done();
         return;
      }
      }
    }
}

读出来的数据放到缓存里,后面去用

更多的看
https://gitee.com/happysoul/eeprom_stc/blob/master/keil/main.c

我这个是 编程器 读写 32/28脚并口 eeprom 用的 usb-cdc 虚拟串口, 其他的我放弃了
页: [1]
查看完整版本: 使用工具箱例子60HID 里面没有USB-HID收发函数