我的STM32 是利用ST官方的Mass_Storage修改的
端点1是IN 端点2是OUT 这两个端点都是批量传输端点
安装驱动后 我用Bus Hound 5向其发送数据 STM32能顺利接收
void EP2_OUT_Callback(void)
{
PMAToUserBufferCopy(Bulk_Data_Buff, ENDP2_RXADDR, 64);
SetEPRxValid(ENDP2);
UserToPMABufferCopy(sendBufferr, GetEPTxAddr(ENDP1), 64);
SetEPTxCount(ENDP1, 64);
SetEPTxValid(ENDP1);
}
但我试图通过
UserToPMABufferCopy(sendBufferr, GetEPTxAddr(ENDP1), 64);
SetEPTxCount(ENDP1, 64);
SetEPTxValid(ENDP1);
来向上位机发送数据 但Bus Hound 5中看不到有任何来自STM32的数据
所以想问一下这是什么原因 谢谢
USB通信都是由主机发起的
如果主机没有请求数据,STM32是不会发送的
上位机还需要取数据吗,应该是有数据就接收吧,串口不就是这样的吗
上位机还需要取数据吗,应该是有数据就接收吧,串口不就是这样的吗
汗,,,,你凭什么去应该呢?
如果串口和USB一样,那还要USB干吗呢,直接串口好来。
usb的协议 必须主发请求给从的 不然想想多挂几个从usb 就乱套了
搞定了 原因就在 "这是上位机驱动的事情,我也不知道怎么做。"
编了个程序取数据后就OK了 谢谢版主 谢谢各位