STM32的USB如何使用端点0进行命令通信问题

2019-07-21 06:09发布

现在使用STM32F103单片机进行USB通信,现在是做USB的Keyboard模式和Custom模式,下通过端点0进行命令通信和指令响应。现在通信正常了。但如何使用USB的端点0进行上位机指令的接收和发送。我使用UserToPMABufferCopy(DataBuffer, GetEPTxAddr(ENDP0), Length); 和PMAToUserBufferCopy(Buffer, GetEPRxAddr(ENDP0), Length);都无法进行数据的接收和发送,因为也没使用过USB的端点0进行数据的通信,所以使用这两个函数,也无法进行数据的收发。希望能够解答一下关于USB的端点0如何进行数据的收发。非常感谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
HCY
2019-07-22 01:29
sammy902583 发表于 2018-6-13 12:34
STM32Cube里面的usbd_hid.c的USBD_HID_Setup() 实作了control pipe的传输.
所以如果您要自订end point 0,  ...

嗯  我有点不理解你说的意思   我说一下我的方法  首先就是关于set report和get report、set ldte这三个参数。不管USB是什么模式都好  这三个参数都是必须用到的。第一点主要是和PC端握手过程。第二点就是上位机会向下位机发送set report 、get report。并且我都做了响应,但在上位机给我发的02 52 7e 2d给我  我都收到了  但是回应给上位机的指令  上位机都没有收到  所以就是问题点就卡在这里   我整个通信都已经是正常的  包括普通数据上送 普通数据上送是其实其他端点  

一周热门 更多>