CH549 USB HID feature report 的发送和接收

请问 CH549 USB HID feature report 的发送和接收如何实现,能否提供代码以供参考。

使用的部分HID报告描述符:

0x0a, 0x01, 0x02, /*   Usage (Event: Sensor State) */    
0x15, 0x00, /*   Logical Minimum (0) */    
0x25, 0x06, /*   Logical Maximum (6) */    
0xa1, 0x02, /*   Collection (Logical) */    
0x0a, 0x00, 0x08, /*    Usage (Sensor State: Undefined) */    
0x0a, 0x01, 0x08, /*    Usage (Sensor State: Ready) */    
0x0a, 0x02, 0x08, /*    Usage (Sensor State: Not Available) */    
0x0a, 0x03, 0x08, /*    Usage (Sensor State: No Data Sel) */    
0x0a, 0x04, 0x08, /*    Usage (Sensor State: Initializing) */    
0x0a, 0x05, 0x08, /*    Usage (Sensor State: Access Denied) */    
0x0a, 0x06, 0x08, /*    Usage (Sensor State: Error) */    
0xb1, 0x00, /*    Feature (Data,Arr,Abs) */    
0xc0, /*   End Collection


参考USB HID协议可以知道,feature report 是通过GET_REPORT request请求实现的。

这个请求本质就是一次控制传输,控制传输在芯片上的实现可以参考“设备描述符”的实现,他们从代码处理上是十分相似的。

数据本身的处理可以参考HID协议中的细部。

image.png


技术能力有限,希望能够提供CH549实现的代码以供参考和修改


icon_rar.gifCH554_HID例程_setreportgetreport.rar

可以参考这份代码


谢谢,请问收发 feature report  是否是需要新建一个USB端点?



report的请求是在端点0通过控制传输实现的


请问CompatibilityHID.C这个例程和CH549是否兼容,需做哪里修改


不兼容,需要移植。代码架构大体相同。


只有登录才能回复,可以选择微信账号登录