STM32F103. ¿Cómo usar PB4 como GPIO normal? NJTRST remap no funciona

0

Necesito usar PB4 como un pin de salida digital GPIO normal. Tengo una placa diseñada especialmente donde este pin está conectado a la CS de un dispositivo SPI, por lo que no es posible usar otro pin.

Estoy usando la HAL para desarrollar el firmware. El código que utilizo para configurar GPIO es:

__HAL_AFIO_REMAP_SWJ_NONJTRST();
__HAL_RCC_GPIOB_CLK_ENABLE();
GPIO_InitTypeDef config_gpio = {0};
config_gpio.Pin = GPIO_PIN_4;
config_gpio.Mode = GPIO_MODE_OUTPUT_PP;
config_gpio.Pull = GPIO_NOPULL;
config_gpio.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOB, &config_gpio);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_RESET);

Después de eso, PB4 siempre es alto y no puedo configurarlo bajo, probablemente porque se comporta como NJTRST, por lo que no puedo usarlo como una salida normal.

Parece que la macro __HAL_AFIO_REMAP_SWJ_NONJTRST () no hace nada.

    
pregunta AlfonsoJLuna

1 respuesta

1

Se necesita llamar

__HAL_RCC_AFIO_CLK_ENABLE();

antes de configurar remaps.

    
respondido por el AlfonsoJLuna

Lea otras preguntas en las etiquetas