电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

自制USB鼠标来玩玩~~~~(源代码+原理图)

花了一个晚上,把USB键盘的程序改了改,就成了USB鼠标了~~~~~~

只是修改了一下报告描述符,以及返回数据等,修改很少。

 

点击此处下载 USB鼠标源代码包.rar rar

 

 

以下是通过串口返回的调试信息:

系统启动................................
断开USB连接........................
USBD12芯片初始化
   设置地址.....................
       地址为:  0
连接USB...............
USB总线复位................................
USB总线挂起................................
USB总线复位................................
USB总线挂起................................
USB总线复位................................
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB总线复位................................
USB标准请求................................
   设置地址.....................
       地址为:  2
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取设备序列号................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取产品字符串................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取产品字符串................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    设置配置................................
USB类请求................................
    设置空闲................................
USB标准请求................................
    获取描述符(从接口)..............................
        获取报告描述符................................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................

 

在设备管理器里的显示:

 

原理图(用的是键盘的硬件,8键鼠标上移,4键鼠标左移,6键鼠标右移,2键鼠标下移,

9键往上滚动,3键往下滚动,alt键鼠标左键,0键鼠标中键,enter键鼠标右键):

(注意:原理图上所标的晶体值是以前的,这个程序中使用的是22.1184M的晶体.它关系到串口波特率,如果你不使用串口,那么可以不用理会它.)

 

注意:图中串口电平转换部分的C8和C10接反了,C11负端应接VDD。D12的SUSPEND(12脚)应该接地。USB接头处的D+和D-应该分别串联22欧姆的匹配电阻。由于图得比较匆忙,所以没留意。

 

 

博主
computer00
电脑圈圈的家当
computer00
点击跳转