你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
STM32隐藏
5.18活动板子会不会是STM32L4呢
STM32 CUBE软件中找不到STM32L4系列单片机
Your UAT Feedback is needed within today.
应用
AAA
1q1q
12345
11
11.08
是用Cube生成的吗?
需要改一下底层的函数...
正好发送64字节或者64字节的整数倍时,需要再发送一个“空包”以通知PC数据传输结束
static uint8_t USBD_CDC_DataIn (USBD_HandleTypeDef *pdev, uint8_t epnum)
{
USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef*) pdev->pClassData;
//一下代码是为了支持64字节整数倍发送
PCD_HandleTypeDef *hpcd = pdev->pData;
PCD_EPTypeDef *ep;
ep = &hpcd->IN_ep[epnum];
if((ep->xfer_len > 0) && (ep->xfer_len % ep->maxpacket == 0))
{
USBD_LL_Transmit(pdev,epnum,NULL,0);
return USBD_OK;
}
else
{
//结束
if(pdev->pClassData != NULL)
{
hcdc->TxState = 0;
return USBD_OK;
}
else
{
return USBD_FAIL;
}
}
}
修改下面2个宏定义
#define CUSTOM_HID_EPIN_SIZE 0x40 //64
#define CUSTOM_HID_EPOUT_SIZE 0x40
然后用
USBD_CUSTOM_HID_SendReport(hUsbDevice_0,USB_TX_Buffer,64);
发送就可以。。。。
我这个是L496zg测试了。。。。