2024-12-23 03:05 AM - edited 2024-12-23 03:09 AM
Hello, ST experts
For some reason, PA12 of STM32U595VGT6 is set to GPIO at start up. But I can not find how to set PA12 to USB_DP again in any alternate function of AF1 to AF15.
BR
Yang
2024-12-23 06:17 AM - edited 2024-12-23 06:18 AM
Hello
Maybe I miss something. At powerup PA12 is configured to GPIO. And then it is need to be set to OTG_USB_DP. The code to set PA12 as GPIO looks like below
__HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_12;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
I mean what should I do to set PA12 as OTG_USB_DP after these codes. Does HAL_GPIO_DeInit(GPIOA, GPIO_PIN_12) works?
BR
Yang
2024-12-23 06:31 AM - edited 2024-12-23 06:35 AM
@Yang Yang wrote:
Hello
Maybe I miss something. At powerup PA12 is configured to GPIO. And then it is need to be set to OTG_USB_DP. The code to set PA12 as GPIO looks like below
__HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_12;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
I mean what should I do to set PA12 as OTG_USB_DP after these codes. Does HAL_GPIO_DeInit(GPIOA, GPIO_PIN_12) works?
BR
Yang
If you meant by this you already configured the IO as inputs then you need to switch to USB function, yes. and enable/configure the USB after.
2024-12-23 06:33 AM
the USB Data signals IOs are directly mapped to the USB PHY when USB is enabled.
There is no GPIO alternate function for USB Data signals,
So, from software point of view this is useless to configure the USB pins in GPIO mode (only allowed mode is Analog). That is exactly what is done on the code that you shared.
Best Regards.
STTwo-32
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.