📄 tm3.c
字号:
{
requesttype_temp=ep0_data.device_request.bmRequestType>>5&0x03;
switch(requesttype_temp)
{
case(0): //setup standard request
{
switch(ep0_data.device_request.bRequest)
{
case(DEF_USB_GET_STATUS):
case(DEF_USB_CLR_FEATURE):
{
if(ep0_data.device_request.bmRequestType&0x1f==0x02)
{
switch(ep0_data.data_buf[4])
{
case(0x82):
case(0x02):
case(0x81):
case(0x01):
default:
}
}
else{CH37x_set_endp3(0x0f);}//return stall
break;
}
case(DEF_USB_SET_FEATURE):
case(DEF_USB_SET_ADDRESS): //////////////LED
case(DEF_USB_GET_DESCR): ///////////////LED
{
switch(desc_info.desc_type)
{
case(1):{p_desc_type=device_descriptor;break;}
case(2):{p_desc_type=config_descriptor;break;}//config interface class endpoint desc
case(3):
case(4):{p_desc_type=interface_descriptor;break;}
case(5):{p_desc_type=endpoint_descriptor;break;}
case(0x21):{p_desc_type=hid_descriptor;break;}//hid descriptor
case(0x22):{p_desc_type=report_descriptor;desc_info.desc_length=0x32;flag_report_input=1;break;}//report descriptor
// case(0x23):{p_desc_type=physical_descriptor;break;}//physical descriptor
}
CH37x_return_desc();
break;
}
case(DEF_USB_SET_DESCR):
case(DEF_USB_GET_CONFIG):
case(DEF_USB_SET_CONFIG):
case(DEF_USB_GET_INTERF):
case(DEF_USB_SET_INTERF):
case(DEF_USB_SYNC_FRAME):
}
case(1): //setup class request
case(2):CH37x_set_endp3(0x0f);break; //setup vendor request
case(3):CH37x_set_endp3(0x0f);break; //reserved request
default:{CH37x_set_endp3(0x0f);break;}//return stall
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -