《圈圈教你玩USB》之 USB鼠标

********************************************************************
******             《圈圈教你玩USB》之 USB鼠标                ******
******                      AT89S52 CPU                       ******
******                  建立日期:May 21 2013                 ******
******                   建立时间:10:04:04                   ******
******                    作者:电脑圈圈                      ******
******                    欢迎访问作者的                      ******
******           USB专区:http://group.ednchina.com/93/       ******
******      BLOG1:http://www.ednchina.com/blog/computer00    ******
******                BLOG2:http://computer00.21ic.org       ******
******                  请按K1-K8分别进行测试                 ******
******    K1:光标左移  K2:光标右移  K3:光标上移 K4:光标下移   ******
******    K5:滚轮下滚  K6:滚轮上滚  K7:鼠标左键 K8:鼠标右键   ******
********************************************************************
Your D12 chip's ID is: 0x1012. ID is correct! Congratulations!


断开USB连接。
连接USB。
USB总线复位。
USB总线挂起。
USB总线挂起。
USB总线复位。
USB总线挂起。
USB总线挂起。
USB总线复位。
USB端点0输出中断。
读端点0缓冲区8字节。
0x80 0x06 0x00 0x01 0x00 0x00 0x40 0x00 
USB标准输入请求:获取描述符—璞该枋龇?
写端点0缓冲区16字节。
0x12 0x01 0x10 0x01 0x00 0x00 0x00 0x10 0x88 0x88 0x01 0x00 0x00 0x01 0x01 0x02 
USB端点0输入中断。
写端点0缓冲区2纸凇?
0x03 0x01 
USB总线复位。
USB端点0输鲋卸稀?
读端点0缓冲区8字节。
0x00 0x05 0x02 0x00 0x00 0x00 0x00 0x00 
USB标准输出请求:设置地址。地址为:0x02 
写端点0缓冲区0字节。
USB端点0输入中断。
USB端点0输出中断。
读端点0缓冲区8字节。
0x80 0x06 0x00 0x01 0x00 0x00 0x12 0x00 
USB标准输入肭螅夯袢∶枋龇璞该枋龇?
写端点0撼迩?6字节。
0x12 0x01 0x10 0x01 0x00 0x00 0x00 0x10 0x88 0x88 0x01 0x00 0x00 0x01 0x01 0x02 
USB端点0输入中稀?
写端点0缓冲区2字节。
0x03 0x01 
USB端点0淙胫卸稀?
USB端点0输出中断。
读端点0缓冲区8字凇?
0x80 0x06 0x00 0x02 0x00 0x00 0x09 0x00 
USB标准输入肭螅夯袢∶枋龇渲妹枋龇?
写端点0缓冲区9字节。
0x09 0x02 0x22 0x00 0x01 0x01 0x00 0x80 0x32 
USB端点0输入中断。
USB端点0输出中断。
读端点0缓冲区8字节。
0x80 0x06 0x00 0x03 0x00 0x00 0xFF 0x00 
USB标准输入请求:获取描述符——字符串描述符(语言ID)。
写端点0缓冲区4字节。
0x04 0x03 0x09 0x04 
USB端点0输入中断。
USB端点0输出中断。
读端点0缓冲区8字节。
0x80 0x06 0x03 0x03 0x09 0x04 0xFF 0x00 
USB标准输入请求:获取枋龇址枋龇?产品序列号)。
写端点0缓冲区16字节。
0x16 0x03 0x32 0x00 0x30 0x00 0x30 0x00 0x38 0x00 0x2D 0x00 0x30 0x00 0x37 0x00 
USB端点0输入中断。
写端?缓冲区6字节。
0x2D 0x00 0x30 0x00 0x37 0x00 
USB端点0输入中断。
USB端点0输出中断。
读端点0缓冲区8纸凇?
0x80 0x06 0x00 0x02 0x00 0x00 0xFF 0x00 
USB标准输入请求:获取描述符——配置描述符。
写端点0缓冲?6字节。
0x09 0x02 0x22 0x00 0x01 0x01 0x00 0x80 0x32 0x09 0x04 0x00 0x00 0x01 0x03 0x01 
USB端点0输入中断。
写端点0缓冲区16字节。
0x02 0x00 0x09 0x21 0x10 0x01 0x21 0x01 0x22 0x34 0x00 0x07 0x05 0x81 0x03 0x10 
USB端点0输入中断。
写端点0缓冲区2字节。
0x00 0x0A 
USB端点0输入中断。
USB端点0输出中断。
读端点0缓冲区8字节。
0x80 0x06 0x00 0x03 0x00 0x00 0xFF 0x00 
USB标准输入请求:获取描述符——字符串描述符(语言ID)。
写端点0缓冲区4字节。
0x04 0x03 0x09 0x04 
USB端点0输入中断。
USB端点0输出中断。
读端点0缓冲区8字凇?
0x80 0x06 0x02 0x03 0x09 0x04 0xFF 0x00 
USB标准输入肭螅夯袢∶枋龇址枋龇?产品描述)。
写端点0缓冲区16字节。
0x22 0x03 0x0A 0x30 0x08 0x57 0x08 0x57 0x59 0x65 0x60 0x4F 0xA9 0x73 0x55 0x00 
USB端点0输入中断。
写端点0缓冲区16字节。
0x53 0x00 0x42 0x00 0x0B 0x30 0x4B 0x4E 0x55 0x00 0x53 0x00 0x42 0x00 0x20 0x9F 
USB端点0输入中断。
写端点0缓冲区2字节。
0x07 0x68 
USB端点0输入中断。
USB端点0输出中断。
读端点0撼迩?字节。
0x80 0x06 0x00 0x03 0x00 0x00 0xFF 0x00 
USB标准输入请求:获取描述符——字符串描述符(语言ID)。
写端点0缓冲区4字节。
0x04 0x03 0x09 0x04 
USB端点0输入中断。
USB端点0输出中断。
读端点0缓冲区8字节。
0x80 0x06 0x02 0x03 0x09 0x04 0xFF 0x00 
USB标准输入请求:获取描述符——字符串描述符(产品描述)。
写端点0缓冲区16字节。
0x22 0x03 0x0A 0x30 0x08 0x57 0x08 0x57 0x59 0x65 0x60 0x4F 0xA9 0x73 0x55 0x00 
USB端点0输入中断。
写端点0缓冲区16字节。
0x53 0x00 0x42 0x00 0x0B 0x30 0x4B 0x4E 0x55 0x00 0x53 0x00 0x42 0x00 0x20 0x9F 
USB端点0输入中断。
写端点0缓冲区2字节。
0x07 0x68 
USB端点0输入中断。
USB端点0输出中断。
读端点0缓冲区0字节。
USB端点0输出中断。
读端点0缓冲区8字节。
0x80 0x06 0x00 0x02 0x00 0x00 0x22 0x00 
USB标准输入请求:获取描述符——配置描述符。
写端点0缓冲区16字节。
0x09 0x02 0x22 0x00 0x01 0x01 0x00 0x80 0x32 0x09 0x04 0x00 0x00 0x01 0x03 0x01 
USB端点0输入中断。
写端点0缓冲区16字节。
0x02 0x00 0x09 0x21 0x10 0x01 0x21 0x01 0x22 0x34 0x00 0x07 0x05 0x81 0x03 0x10 
USB端点0输入中断。
写端点0缓冲区2字节?
0x00 0x0A 
USB端点0输入中断。
USB端点0输出中断。
读端?缓冲区8字节。
0x80 0x06 0x00 0x01 0x00 0x00 0x12 0x00 
USB标准输入请求:获取描述符——设备描述符。
写端点0缓冲区16字节。
0x12 0x01 0x10 0x01 0x00 0x00 0x00 0x10 0x88 0x88 0x01 0x00 0x00 0x01 0x01 0x02 
USB端点0输入中断。
写端点0缓冲区2字节。
0x03 0x01 
USB端点0输入中断。
USB端点0输出中断。
读端点0缓冲区8字节。
0x80 0x06 0x00 0x02 0x00 0x00 0x09 0x00 
USB标准输入请求:获取描述符——配置描述符。
写端点0缓冲区9字节。
0x09 0x02 0x22 0x00 0x01 0x01 0x00 0x80 0x32 
USB端点0输入中断。
USB端点0输出中断。
读端点0缓迩?字节。
0x80 0x06 0x00 0x02 0x00 0x00 0x22 0x00 
USB标准输入请求:获取描述符——配置描述符。
写端点0缓迩?6字节。
0x09 0x02 0x22 0x00 0x01 0x01 0x00 0x80 0x32 0x09 0x04 0x00 0x00 0x01 0x03 0x01 
USB端点0输入中断。
写端点0缓冲区16字节。
0x02 0x00 0x09 0x21 0x10 0x01 0x21 0x01 0x22 0x34 0x00 0x07 0x05 0x81 0x03 0x10 
USB端点0输入中断。
写端点0缓冲区2字节。
0x00 0x0A 
USB端点0输入中断。
USB端点0输出中断。
读端点0缓冲区8字节。
0x00 0x09 0x01 0x00 0x00 0x00 0x00 0x00 
USB标准输出请求:设置配置。
写端点0撼迩?字节。
USB端点0输入中断。
USB端点0输出中断。
读端点0缓冲区8字节。
0x21 0x0A 0x00 0x00 0x00 0x00 0x00 0x00 
USB类输出请求:设置空闲。
写端点0缓迩?字节。
USB端点0输入中断。
USB端点0输出中断。
读说?缓冲区8字节。
0x81 0x06 0x00 0x22 0x00 0x00 0x74 0x00 
USB标准输入请求:获取描述符——报告描述符。
写说?缓冲区16字节。
0x05 0x01 0x09 0x02 0xA1 0x01 0x09 0x01 0xA1 0x00 0x05 0x09 0x19 0x01 0x29 0x03 
USB说?输入中断。
写端点0缓冲区16字节。
0x15 0x00 0x25 0x01 0x95 0x03 0x75 0x01 0x81 0x02 0x95 0x01 0x75 0x05 0x81 0x03 
USB端点0输入中断。
写端点0缓冲区16字节。
0x05 0x01 0x09 0x30 0x09 0x31 0x09 0x38 0x15 0x81 0x25 0x7F 0x75 0x08 0x95 0x03 
USB端点0输入中断。
写端点0缓冲区4字节。
0x81 0x06 0xC0 0xC0 
USB端点0输入中断。
USB端点0输出中断。
读端点0缓冲区8字节。
0x80 0x06 0x00 0x02 0x00 0x00 0x22 0x00 
USB标准输入请求:获取描述符——配置描述符。
写端点0缓冲区16字节。
0x09 0x02 0x22 0x00 0x01 0x01 0x00 0x80 0x32 0x09 0x04 0x00 0x00 0x01 0x03 0x01 
USB端点0输入中断。
写端点0缓冲区16字节。
0x02 0x00 0x09 0x21 0x10 0x01 0x21 0x01 0x22 0x34 0x00 0x07 0x05 0x81 0x03 0x10 
USB端点0输入中断。
写端点0缓冲区2字节。
0x00 0x0A 
USB端点0输入中断。
USB说?输出中断。
读端点0缓冲区0字节。
USB端点0输出中断。
读端点0缓冲区8字节。
0x80 0x06 0x00 0x02 0x00 0x00 0x22 0x00 
USB标准输入请求:获取描述符——配置描述符。
写端点0缓冲区16字节。
0x09 0x02 0x22 0x00 0x01 0x01 0x00 0x80 0x32 0x09 0x04 0x00 0x00 0x01 0x03 0x01 
USB端点0输入中断。
写说?缓冲区16字节。
0x02 0x00 0x09 0x21 0x10 0x01 0x21 0x01 0x22 0x34 0x00 0x07 0x05 0x81 0x03 0x10 
USB说?输入中断。
写端点0缓冲区2字节。
0x00 0x0A 
USB端点0输入中断。
USB端点0输出中断。
读端点0缓冲区0字节。
### 回答1: USB(通用串行总线)作为现代电脑的重要接口之一,几乎被广泛应用到了各种设备中,如鼠标、键盘、手机、音频、视频、网络等等。那么,如何通过代码来USB? 首先,需要了解USB接口的基本原理,包括类型、传输速率、协议、接口、端口等等。接着,可以使用各种编程语言(C、Python、Java等)来编写USB代码,其中USB传输层的API(应用程序接口)是关键。 例如,在C语言中,可以使用libusb库来实现USB通讯。具体步骤包括:初始化、扫描设备、打开设备、传输数据等。在Python中,则可以借助PyUSB模块来实现。首先,需要安装PyUSB,然后使用相应方法来访问USB设备、读取数据、写入数据等等。 除此之外,还可以利用各种已有的USB开源库,如USB HID(人机接口设备)、USB CDC(通用串行设备类)、USB Mass Storage(大容量存储设备)等等,以及一些相关的工具和软件,如USBview、USBlyzer、Wireshark等,来实现USB通讯的测试与调试。 总之,通过了解USB的基本原理和API,以及运用各种编程语言和工具,我们可以自己动手编写或调试USB代码,开发出更加个性化、高效、可靠的USB设备,为我们的日常工作和生活带来更多的便利和乐趣。 ### 回答2: 要 USB 代码,需要先了解 USB 的基本工作原理。USB 是Universal Serial Bus(通用串行总线)的缩写,是一种计算机与外部设备传输数据的标准接口。它的传输速度较快,传输距离较远,具有插拔方便、多设备共享等优点,广泛应用于电脑、手机等领域。 在 USB 代码时,需要使用开发板、电脑USB 接口线等设备。首先要选定一种编程语言,如 C 语言、Python 等,然后了解相应的 USB 操作函数和命令。可以参考开发板的说明书、相关的开源库或者网络上的资料。在编写代码时,需要引入相应的头文件,并调用相应的函数,通过 USB 接口进行数据的发送和接收。 在实际的应用中,常见的 USB 应用场景包括串口通信、鼠标键盘的输入输出、打印机的控制等。设计完代码后,需要在开发板上进行测试和调试,并进行参数的优化,以获取最好的性能和稳定性。 总而言之, USB 代码需要有一定的编程和电子相关的知识,需要了解 USB 的基本工作原理和相关编程语言的知识,同时需要有开发板和相应的设备和工具。只有不断的练习和实践,才能掌握 USB 代码的技巧和应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值