现在使用STM32F103单片机进行USB通信,现在是做USB的Keyboard模式和Custom模式,下通过端点0进行命令通信和指令响应。现在通信正常了。但如何使用USB的端点0进行上位机指令的接收和发送。我使用UserToPMABufferCopy(DataBuffer, GetEPTxAddr(ENDP0), Length); 和PMAToUserBufferCopy(Buffer, GetEPRxAddr(ENDP0), Length);都无法进行数据的接收和发送,因为也没使用过USB的端点0进行数据的通信,所以使用这两个函数,也无法进行数据的收发。希望能够解答一下关于USB的端点0如何进行数据的收发。非常感谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
hhid->IsReportAvailable = 1U;
USBD_CtlPrepareRx (pdev, hhid->Report_buf, req->wLength);
break;
case CUSTOM_HID_REQ_GET_REPORT:
Get_Report = 1;
break;
main 中:
if(有命令)
{处理命令,保存结果到数据发送区}
if(有数据发送)
{ if(Get_Report == 1) {读取数据 USBD_CtlSendData 发送函数
Get_Report = 0;
}}
一周热门 更多>