STM32的USB键盘及鼠标例程.doc

STM32的USB键盘及鼠标例程.doc

ID:57395519

大小:36.50 KB

页数:9页

时间:2020-08-15

STM32的USB键盘及鼠标例程.doc_第1页
STM32的USB键盘及鼠标例程.doc_第2页
STM32的USB键盘及鼠标例程.doc_第3页
STM32的USB键盘及鼠标例程.doc_第4页
STM32的USB键盘及鼠标例程.doc_第5页
资源描述:

《STM32的USB键盘及鼠标例程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、STM32的USB键盘及鼠标例程时间:2011-07-1921:35:05来源:作者:STM32的USB键盘及鼠标例程通过网络可以搜到很,但是在同一个设备中集成键盘及鼠标的例程却比较少见(我通过GOOGLE只搜到圈圈的基于51+D12的版本)。以下为我参考圈圈的例程做出来的集成键盘及鼠标的STM32的程序。  程序上除了usb_desc.c及usb_endp.c外,其它部份同单一的键盘鼠标一样。下面着重说一下usb_desc.c及usb_endp.c的不同之处。  单一键盘鼠标跟集成键盘鼠标这区别主要是报告描述符不同。单一

2、键盘鼠标的报告描述符因只有一组报告输入/输出,故没有报告ID,而集成的有两组报告(键盘及鼠标),所以每一组报告都有一个报告ID加以区别。  另外就是在usb_endp.c中对端点的数据发送不知道是不是我的原因,待发送数据长度有问题,原因还未找到,只能在后面增加一条设置发送数据长度的语句。(如果不加的话,PC端只会收到8位数据,尽管我程序里设置了9位数据)  完整的usb_desc.c文件如下:  #include"STM32LibUSBLibusb_lib.h"  #include"usb_desc.h"  //KM_

3、DeviceDescriptor  constu8HID_DeviceDescriptor[HID_SIZE_DEVICE_DESC]=  {  0X12,//bLength  USB_DEVICE_DESCRIPTOR_TYPE,//bDescriptorType  0x00,//bcdUSB  0x02,  0x00,//bDeviceClass  0X00,//bDeviceSubClass  0x00,//bDeviceProtocol  0x40,//bMaxPacketSize40  0x34,//idVend

4、or(0x0483)  0x12,  0x78,//idProduct=0x5710  0x56,  0x00,//bcdDevicerel.20.00  0x02,  1,//indexofstringdescriptordescribingmanufacturer  2,//indexofstringdescriptordescribingproduct  3,//indexofstringdescriptordescribingthedeviceserialnumber  0x01//bNumConfiguratio

5、ns  };  //USBConfigurationDescriptor  constu8HID_ConfigDescriptor[HID_SIZE_CONFIG_DESC]=  {  0X09,//bLength  USB_CONFIGURATION_DESCRIPTOR_TYPE,//bDescriptorType  HID_SIZE_CONFIG_DESC,//wTotalLength  0x00,  0x01,//bNumInterfaces接口数目  0x01,//bConfigurationValueset_c

6、onfiguration命令所需要的参数值  0x00,//iConfiguration  0xE0,//bmAttributes  0x32,//MaxPower100mA  //***************接口1配置***************  0x09,  USB_INTERFACE_DESCRIPTOR_TYPE,  0x00,//接口编号  0x00,  0x02,//端点数  0x03,  0x01,//1=boot0=noboot  0x01,//0=none1=keyboard2=mouse  0,/

7、/接口描述符索引值  //***************HID描述符****************  0x09,  HID_DESCRIPTOR_TYPE,  0x10,  0x01,  0x00,  0x01,  0x22,  HID_SIZE_REPORT_DESC,  0x00,  //***************端点1输入描述***************  0x07,  USB_ENDPOINT_DESCRIPTOR_TYPE,  0x81,  0x03,  0x0A,  0x00,  0x20,//****

8、***********端点1输出描述***************   0x07,  USB_ENDPOINT_DESCRIPTOR_TYPE,  0x01,  0x03,  0x0A,  0x00,  0x20,  };  //MOUSEConfigDescriptor  constu8HID_Rep

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。