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条回答
wmh19910511
1楼-- · 2019-07-21 07:05
端口0 可以用来发数据?
HCY
2楼-- · 2019-07-21 10:26
wmh19910511 发表于 2018-6-12 21:52
端口0 可以用来发数据?

可以用来上位机进行命令控制,是能够进行数据传输的,但数据量不是很大的传输。主要是用来响应上位机的命令控制指令。
wmh19910511
3楼-- · 2019-07-21 11:51
那你在看看 反正我理解的是 端口0 只能用作为识别作用 不能传数据[img][/img]  如果端口0 能传数据 那不是乱套了, 有可能是我理解错了 你自己好好看看吧
HCY
4楼-- · 2019-07-21 13:22
本帖最后由 HCY 于 2018-6-13 11:18 编辑
wmh19910511 发表于 2018-6-13 10:54
那你在看看 反正我理解的是 端口0 只能用作为识别作用 不能传数据[/img]  如果端口0 能传数据 那不是乱套了 ...

可以的  我给你看一个截图就知道了  我使用bus hound扑抓的数据 但可以确定一点   端点0是能够进行数据的收发  但就是不知道如何使用
HCY
5楼-- · 2019-07-21 15:27
 精彩回答 2  元偷偷看……
sammy902583
6楼-- · 2019-07-21 20:38
STM32Cube里面的usbd_hid.c的USBD_HID_Setup() 实作了control pipe的传输.
所以如果您要自订end point 0, 需要在这边加入自订的request和对应的code.
当然您要跟上位机套好招, 由host发起自订request.

一周热门 更多>