AnsweredAssumed Answered


Question asked by tuyen.vo_quang on Apr 14, 2015
I am developing a HID USB with STM32F107, and iam currently using STM32_USB-FS-Device_Lib_V4.0.0. 
1. My problem is that i dont understand clearly about USB_DISCONNECT feature in this MCU.
2. I see in the library, ST define some GPIO for USB disconnect
#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD)|| defined(STM32L1XX_MD_PLUS)|| defined(STM32F37X)|| defined(STM32F30X)
  /* Enable the SYSCFG module clock (used for the USB disconnect feature) */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);


/* Define the STM32F10x hardware depending on the used evaluation board */
#ifdef USE_STM3210B_EVAL
  #define USB_DISCONNECT                      GPIOD  
  #define USB_DISCONNECT_PIN                  GPIO_Pin_9
  #define RCC_APB2Periph_GPIO_DISCONNECT      RCC_APB2Periph_GPIOD

  #define RCC_APB2Periph_ALLGPIO              (RCC_APB2Periph_GPIOA \
                                               | RCC_APB2Periph_GPIOB \
                                               | RCC_APB2Periph_GPIOC \
                                               | RCC_APB2Periph_GPIOD \
                                               | RCC_APB2Periph_GPIOE )

It seems that different boards have different pin configuration for USB disconnect.
So, how can i know which GPIO pin is USB Disconnect in my MCU.
3. Difference between internal USB pullup vs external USB pullup