AnsweredAssumed Answered

STMCube USB Host code not working

Question asked by wake.bert on Apr 8, 2014
Latest reply on Apr 9, 2014 by wake.bert

I can't get the USB Host code generated by STMCube to work. When I connect a device, none of the interrupts get triggered - the software doesn't seem to recognize it at all.

The peripheral clock is enabled and the interrupts are getting set, I see this function get called in usbh_conf.c in the debugger:

void HAL_HCD_MspInit(HCD_HandleTypeDef* hhcd){
  GPIO_InitTypeDef GPIO_InitStruct;
    /* Peripheral clock enable */
  /**USB_OTG_FS GPIO Configuration
  PA11   ------> USB_OTG_FS_DM
  PA12   ------> USB_OTG_FS_DP

    GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
    GPIO_InitStruct.Alternate = GPIO_AF10_OTG_FS;
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
    /* Peripheral interrupt init*/
    /* Sets the priority grouping field */
    HAL_NVIC_SetPriority(OTG_FS_IRQn, 0, 0);

But I never see the interrupt routines run or the user callback functions get called. My device is definitely receiving power from the bus. Is there anything obvious I'm missing?