头像-20440

tianmingnm默默的寻求进化

  • 浙江省杭州市
  • 单片机 嵌入式 DSP FPGA/CPLD EMC/EMI EDA/PCB RF/无线 电源技术 模拟技术
  • 消费电子

个人成就

获得 3 次赞

帮助过30人

STM32之USB读卡器移植

搞了两天,终于把stm32的读卡器移植成功了,是基于V3.5的库的,鉴于本菜最近爱上了操作寄存器,所以读写SD卡的部分是操作寄存器的 正题开始,先讲讲usb协议 本菜就简单的讲讲了,usb分为usb设备和usb主机,我们常用的鼠标、键盘、U盘等都属于usb设备,那我们的电脑很显然就是usb主机了,usb设备和主机之间有一套通信协议 平常我们在电脑的usb端口上接一个usb hub可以用来扩展usb端口,为什么一个usb端口可以扩展为好几个呢,这完全是由usb协议决定的,每个usb主机端口理论上可以连接127个usb设备,因为每个usb设备相对于主机都有一个单独的地址,这个地址是7位的,如果本菜没记错的话,是7位 现在从usb插入电脑开始讲, usb设备插入后,主机会对设备进行枚举,说白了,就是设备插入后要和主机相互了解一下,比如我现在插入一个鼠标,鼠标要根据主机的问题告诉主机自己是干什么的,自己有几个端口,自己将来通过哪个端口给主机发送数据,然后这些数据都有什么含义,大小是什么范围 主机还会通过一系列的指令对usb设备进行设置,比如分配地址,设置配置,设置接口之类的,这一系列的操作都是通过EP0端口进行的 至于具体的包的概念还有枚举过程就看本菜在下面分享的一些资料吧 字写的是难看了点。。。