![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
USB
淮安老丁
微信号:dingzj2000
展开
-
老丁带你学USB-解疑2:USB协议中的ACK、NAK、STALL三种返回包含义
三种返回确认信息ACK 、NAK 、STALL【ACK 包】ACK(确认) 表示 主机和设备已经收到数据,没有出现错误。设备必须在Setup 事务的交换包中返回ACK,设备也必须在OUT事务的交换中返回ACK。主机在IN事务的交换包中返回ACK。【NAK 包】(NAK包只能从设备发向主机)NAK(未确认) 表示设备正忙或没有数据要返回。如果主机在设备太忙而不能接受数据时发送...原创 2019-06-05 16:50:20 · 14504 阅读 · 2 评论 -
老丁带你学USB-解疑1:STM32 USB数据缓冲区疑问
1、STM32USB数据缓冲区疑问USB不同的应用需要使用到的端点数和端点数据长度各不相同,如果为每个端点都单独规划一个存储区非常浪费。所以STM32为USB模块提供了共512个字节的存储区,至于如何为每个端点分配使用这512B的空间,就是用户自己的事情了,这样存储区的分配就非常经济灵活。这512B空间的首地址是0x40006000。你看到的#defineENDP2_R...原创 2019-06-18 16:45:16 · 3678 阅读 · 4 评论 -
老丁带你学USB-解疑3:STM32 USB IO口怎么配置
1、STM32里面,USB设备是怎么接受USB主机发送的各种请求?接受以后存放在哪里??答:根据地址和端点来接收请求,接收后一般存放在缓冲区,STM32芯片就有一个USB和CAN共享的专用缓冲区。即缓冲区描述表在USB_core.c下的u8 Setup0_Process(void)函数里面可以看到,刚开始的时候,看到了也不懂,现在懂了^_^2、USB的IO口需不需要复用,如果要复用,怎么设...原创 2019-06-18 16:48:53 · 4305 阅读 · 0 评论