打印

GD32 USB调试总结

[复制链接]
1083|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
王小琪|  楼主 | 2020-11-10 22:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

1 USB通信都是基于中断完成的,主要使用两个中断:复位中断、数据传输中断。

1.1 复位中断

      对于复位中断来讲,设备插入主机后,并设置连接,主机识别设备连接后,会复位设备。复位后使用0默认地址,对设备进行枚举,枚举过程其实就是获取设备的各种描述符。

     当设备被主机复位后,设备会对端点0的相关寄存器进行初始化。初始化完成后,设备就可以通过端点0进行控制传输,也就可以通过控制传输来进行传输各种描述符数据和设置设备的通信地址。

1.2 数据传输中断

     对于设备的数据传输中断,基本上分为两种:in中断和out中断,在out中断中又可以通过寄存器来判断是否有setup被置位。其实in中断就可以对应usb中的in事务,out中断可以对应out事务,out中断中如果setup被置位,就是setup事务。在中断里,可以直接读取各个事务中的数据。当有一笔事务到来时,设备硬件自动识别“令牌包”和自动发送“状态包”,所以可以直接在中断中读取“数据包”了。具体数据是in、out、setup中的哪一个,设备会根据“令牌包”进行识别,来产生in中断或是out中断和setup标志。


使用特权

评论回复
沙发
shanzhihun| | 2020-11-12 09:49 | 只看该作者
  我最近用GD自带的 自定义USB 原来他是用端口1,收发数据都可以,我现在把它改成断点2收发数据,现在只能收,不能发,一般是什么原因啊

使用特权

评论回复
板凳
shanzhihun| | 2020-11-12 11:50 | 只看该作者
shanzhihun 发表于 2020-11-12 09:49
我最近用GD自带的 自定义USB 原来他是用端口1,收发数据都可以,我现在把它改成断点2收发数据, ...

已经可以了

使用特权

评论回复
地板
snikeguo| | 2020-11-12 19:15 | 只看该作者
同在研究GD32的USB,加Q408260925 一起研究。!

使用特权

评论回复
5
磨砂| | 2020-12-4 11:36 | 只看该作者
有时候usb的问题就是莫名其妙的

使用特权

评论回复
6
晓伍| | 2020-12-4 11:39 | 只看该作者
现在主流的usb的速率能达到多少

使用特权

评论回复
7
八层楼| | 2020-12-4 11:41 | 只看该作者
这种 应该将usb的中断优先级设的高一点吧

使用特权

评论回复
8
观海| | 2020-12-4 11:43 | 只看该作者
改端口的那个 怎么弄好的  能详细说说吗

使用特权

评论回复
9
guanjiaer| | 2020-12-4 11:44 | 只看该作者
这种数据传输可靠吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

227

主题

578

帖子

6

粉丝