cancel
Showing results for 
Search instead for 
Did you mean: 

USB cdc cmd endpoint problem

sxiao.11
Associate

With stm32cubemx i generated a usb cdc device. I can send and receive data with bulk in and out endpoint.But i want to usb cmd endpoint(Interrupt type) to transfer message, it's not successful.I didn't see ang message wit bus hound.Anyboby can help me?

I modify these codes:

USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev)

{

 /* Init USB Ip. */

 if (pdev->id == DEVICE_FS) {

 /* Link the driver to the stack. */

 hpcd_USB_OTG_FS.pData = pdev;

 pdev->pData = &hpcd_USB_OTG_FS;

  

 hpcd_USB_OTG_FS.Instance = USB_OTG_FS;

 hpcd_USB_OTG_FS.Init.dev_endpoints = 4;

 hpcd_USB_OTG_FS.Init.speed = PCD_SPEED_FULL;

 hpcd_USB_OTG_FS.Init.dma_enable = DISABLE;

 hpcd_USB_OTG_FS.Init.ep0_mps = DEP0CTL_MPS_64;

 hpcd_USB_OTG_FS.Init.phy_itface = PCD_PHY_EMBEDDED;

 hpcd_USB_OTG_FS.Init.Sof_enable = DISABLE;

 hpcd_USB_OTG_FS.Init.low_power_enable = DISABLE;

 hpcd_USB_OTG_FS.Init.lpm_enable = DISABLE;

 hpcd_USB_OTG_FS.Init.vbus_sensing_enable = DISABLE;

 hpcd_USB_OTG_FS.Init.use_dedicated_ep1 = DISABLE;

 if (HAL_PCD_Init(&hpcd_USB_OTG_FS) != HAL_OK)

 {

  Error_Handler( );

 }

 HAL_PCDEx_SetRxFiFo(&hpcd_USB_OTG_FS, 0x80);

 HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 0, 0x40);

 HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 1, 0x80);

HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 2, 0x40);

 }

 return USBD_OK;

}

I added HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 2, 0x40); if not add this line, CDC_Transmit_FS will crashed. CDC_Transmit_FS use the 0x82 endpoint.

0 REPLIES 0