第一范文网 - 专业文章范例文档资料分享平台

CH376主机控制键盘鼠标程序(7)

来源:用户分享 时间:2021-06-02 本文由悲伤的帅哥 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

USB_INT_SUCCESS)//DATA阶段操作成功
{
receive_mode ^= 0x80;
descr_len-=RD_USB_DATA(p);
}
else return(0);

}
}
else return(0);
send_mode = 0x40;
WR_USB_DATA(0,SetupGetCfgDescr);
issue_token(send_mode,( 0 << 4 ) | DEF_USB_PID_OUT);status=wait_interrupt();
if(status==USB_INT_SUCCESS)//状态阶段操作成功
return(1);
else return(0);
}

//*****************************************************
//*NAME: parse_config_descr( )
//*FUCTION: 简单的分析配置描述符中的相关信息,并保存
//*输入参数: 无
//* 输出参数:无
//*说明: 保存设备的接口号,端点地址,报表长度,支持复合设备
//******************************************************

void parse_config_descr( )
{
Device_Atti.Device_connect = 1; //表示设备连接
Device_Atti.Cfg_value = ((PUSB_CFG_DESCR)data_buf)->bConfigurationValue; //保留配置描述符中的配置值

if(((PUSB_CFG_DESCR)data_buf)->bNumInterfaces==1) //只有一个接口设备
{
Device_Atti.Device_compat = 0; //非复合设备

#define HID_Dev ((PHID_DEVICE)data_buf)

Device_Atti.Device[0].Device_type = HID_Dev->hid_itf_descr.bInterfaceProtocol;//设备类型:0x01 键盘,0x02 鼠标
Device_Atti.Device[0].Device_inf = HID_Dev->hid_itf_descr.bInterfaceNumber;//设备的接口号
Device_Atti.Device[0].Device_endp = HID_Dev->endp_descr.bEndpointAddress;//设备端点地址
Device_Atti.Device[0].Device_size = HID_Dev->endp_descr.wMaxPacketSize;//设备端点大小
Device_Atti.Device[0].Device_report_len = (HID_Dev->hid_class_descr.wDescriptorLength>>8)|(HID_Dev->hid_class_descr.wDescriptorLength<<8); //报表长度,大小端数据格式转换

}

else if(((PUSB_CFG_DESCR)data_buf)->bNumInterfaces==2) //2个接口设备
{
Device_Atti.Device_compat = 1; //复合设备

#define HID_Dev1 ((PHID_COMPOSITE_DEVICE1)data_buf)

Device_Atti.Device[0].Device_type = HID_Dev1->hid_itf_descr1.bInterfaceProtocol;
Device_Atti.Device[0].Device_inf = HID_Dev1->hid_itf_descr1.bInterfaceNumber;
Device_Atti.Device[0].Device_endp = HID_Dev1->endp_descr1.bEndpointAddress;
Device_Atti.Device[0].Device_size = HID_Dev1->endp_descr1.wMaxPacketSize;
Device_Atti.Device[0].Device_report_len = (HID_Dev1->hid_class_descr1.wDescriptorLength>>8)|(HID_Dev1->hid_class_descr1.wDescriptorLength<<8); //报表长度,大小端数据格式转换

Device_Atti.Device[1].Device_type = HID_Dev1->hid_itf_descr2.bInterfaceProtocol;
Device_Atti.Device[1].Device_inf = HID_Dev1->hid_itf_descr2.bInterfaceNumber;
Device_Atti.Device[1].Device_endp = HID_Dev1->end
p_descr2.bEndpointAddress;
Device_Atti.Device[1].Device_size = HID_Dev1->endp_descr2.wMaxPacketSize;
Device_Atti.Device[1].Device_report_l

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新人文社科CH376主机控制键盘鼠标程序(7)全文阅读和word下载服务。

CH376主机控制键盘鼠标程序(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1194154.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top