学习目标: 学习单片机USB开发,了解USB底层
前期准备: 参考书籍和资料: 1、《圈圈教你玩USB》,绝对的经典,入门USB不二之选! 2、《圈圈教你玩USB》,绝对的经典,入门USB不二之选! 3、《圈圈教你玩USB》,绝对的经典,入门USB不二之选! 4、蔡亮大神的视频课程:链接: link. 5、USB2.0 spec,USB官方协议文档(主流单片机、主流应用都是USB2.0的) 6、HID spec,HID类设备官方协议文档,入门我们就来学习做一个键鼠设备吧
硬件设备: 1、这里采用沁恒的CH552单片机,这是一个低成本的8位MCU,带低全速的USB设备接口,操作简单,和大家在学校学习的AT89C51不能说一模一样,只能说相差不大。
2、USB2.0分析仪,不得不说沁恒的USB功底,连硬件抓包的分析仪都有。因为USB是一对一应答通讯的,不像串口那样把RX接上去就能看到数据的收发了,所以入门学习还是很有必要买一个的。学生党可以购买USB1.1分析仪,只是不能抓取高速USB信号罢了。(没有的话也没事,仔细处理代码就行了)
软件环境: 1、KEIL,CH552是51核的,用keil准没错
2、BUSHOUND,这个是USB的软件抓包工具,虽然这个软件也能抓包,但是他是上层的、软件层面的,一些总线上的底层状态、数据交互其实是看不到的。当然这个软件也有强大之处,就是可以实现对任意设备的端点进行单包数据收发!
|