给 CH567 模拟键盘增加HID_SET_IDLE
之前的代码中,没有对 SET_IDLE 进行处理,所以会使用 STALL 进行回复。这次的目标是在代码中添加处理的代码。作为比对,正常情况下应该使用下面的方式处理:修改后的代码如下: /* 分析并处理当前的SETUP包 */
len = 0; // 默认为成功并且上传0长度
status = 0;
if (( UsbSetupBuf->bRequestType & USB_REQ_TYP_MASK ) != USB_REQ_TYP_STANDARD )/* 非标准请求 */
{
// 处理 HID_SET_IDLE
if ((UsbSetupBuf->bRequestType==0x21)&&(SetupReqCode==HID_SET_IDLE)) {
printf("SETUP HID_SET_IDLE\n");
R16_UEP0_T_LEN1 = 0;
R8_UEP0_TX_CTRL1 = UEP_DATA1 | UEP_T_RES_ACK; // 默认数据包是DATA1
return ;
}
status = 0xFF;// 操作失败
}
页:
[1]