Skip to main content
Visitor II
September 12, 2024
Solved

STM32G0B1RCT6 Controller USB_DRD_FS Interrupt problem

  • September 12, 2024
  • 1 reply
  • 863 views

hi,

i am Using STM32G0B1RCT6

USB_CLK = 48MHZ
USB_DRD_FS---Host_Only_FS,
USB_HOST---Mass Storage Host Class,
FATFS---USB Disk

USB Interrupt---Enable


If you set it to the above mode and operate it, the USB is recognized and i configured PB4 as an output, which is connected to a green LED. Whenever I plug in the USB to my controller, the green light appears, and whenever I remove the USB from the controller, the green light turns off. so usb detected successfully, but the USB Mount/Unmount function does not work.
It works fine with stm32f429zit6 with same configuration. What causes it? how to solve this problem?

static void USBH_UserProcess (USBH_HandleTypeDef *phost, uint8_t id)
{
 /* USER CODE BEGIN CALL_BACK_1 */
 switch(id)
 {
 case HOST_USER_SELECT_CONFIGURATION:
 break;

 case HOST_USER_DISCONNECTION:
 Appli_state = APPLICATION_DISCONNECT;
 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, RESET);
 Unmount_USB();
 break;

 case HOST_USER_CLASS_ACTIVE:
 Appli_state = APPLICATION_READY;
 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, SET);
 Mount_USB();
 Check_USB_Details();//check Space Details
 Scan_USB("/");//Scan for files and Directories
 Create_File("/ROOTFILE.csv");
 char csv_data[] = "Name, Age, Salary\n\nBerlin, 27, 60000\nAlice, 28, 55000\nAlbert, 32, 55000\n";
 Write_CSV_File("ROOTFILE.csv", csv_data);
 break;

 case HOST_USER_CONNECTION:
 Appli_state = APPLICATION_START;
 break;

 default:
 break;
 }

  

    This topic has been closed for replies.
    Best answer by FBL

    Hi @Berlin-raj123 

    It seems you have custom implementation of Mount_USB() Unmount_USB() and they are not defined. Would you mind clarify?

    Did you try the example using FatFs 

    STM32CubeG0/Projects/STM32G0C1E-EV/Applications/USB_Host/MSC_Standalone at master · STMicroelectronics/STM32CubeG0 

    1 reply

    FBLAnswer
    Technical Moderator
    October 25, 2024

    Hi @Berlin-raj123 

    It seems you have custom implementation of Mount_USB() Unmount_USB() and they are not defined. Would you mind clarify?

    Did you try the example using FatFs 

    STM32CubeG0/Projects/STM32G0C1E-EV/Applications/USB_Host/MSC_Standalone at master · STMicroelectronics/STM32CubeG0