Estoy desarrollando una aplicación para un proyecto de la Universidad en mi placa STM32L1DISCO con la MCU STM32L152RC.
He configurado los pines y he generado el código de inicio a través de STM32CubeMX. Estoy usando Atollic TrueSTUDIO como el IDE.
El problema es que el código de inicio generado no se puede ejecutar en mi MCU. Después de dedicar mucho tiempo a la depuración, descubrí que el problema del código es que esta es una línea que utiliza la biblioteca gpio de HAL:
HAL_GPIO_Init (IDD_CNT_EN_GPIO_Port, & GPIO_InitStruct);
Aunque el código anterior es correcto,
GPIO_InitTypeDef GPIO_InitStruct;
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(IDD_CNT_EN_GPIO_Port, IDD_CNT_EN_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin : IDD_CNT_EN_Pin */
GPIO_InitStruct.Pin = IDD_CNT_EN_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
Después de recorrer el código línea por línea durante la depuración, descubrí que la función de inicio HAL GPIO no se ejecuta y en su lugar da el error de tiempo de ejecución: "El objetivo no responde, lo vuelve a intentar ...".
Cuando comento la línea de inicio HAL GPIO, el programa se ejecuta sin problemas.
STM32CubeMX incluye la biblioteca HAL en el código. En la parte superior hay,
incluye "stm32l1xx_hal.h"
Entonces, no estoy seguro de qué está causando el problema que estoy viendo. Realmente agradecería su ayuda en esto, ya que no sé qué intentar a continuación.
Gracias.