usb做CDC,PC发送设备返回可以,设备主动发送数据卡死,什么原因
使用USB_SendData,发送数据,发送前用bUsbInBusy做了判断。但是主动发送给PC,设备就卡死我用库函数正常发送数据,看一下哪里不一样
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=9938
你可以试试中断方式,可能会解决问题
因为查询方式一般需要把查询代码放主循环里面,如果你中断的代码冗长,阻塞了主循环的查询可能会导致发送卡死。 demo程序里都是先收到数据然后返回。如果主动向PC发送数据就会卡死,不管是用 USB_SendData 这个函数,还是
void CDC_Printf(const char *v,...)
{
va_list ap;
va_start(ap,v);
USB_SendData(UsbInBuffer,vsprintf(UsbInBuffer,v,ap));
va_end(ap);
} 这段函数,只要是主动发送就会卡死,但是如果上位机连接成功后就能执行,不知道是什么原因
页:
[1]