STM32F103 PC13 en modo de salida no funciona

0

Estoy usando STM32F103C8, quiero usar PC13 en modo GPIO (RTC está activo). El registro ODR13 cambia, pero el valor lógico del PIN no cambia.

static void MX_GPIO_Init(void)
{

     GPIO_InitTypeDef GPIO_InitStruct;

     /* GPIO Ports Clock Enable */
     __HAL_RCC_GPIOC_CLK_ENABLE();
     __HAL_RCC_GPIOD_CLK_ENABLE();
     __HAL_RCC_GPIOA_CLK_ENABLE();

     /*Configure GPIO pin Output Level */
     HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);

     /*Configure GPIO pin : LED_Pin */
     GPIO_InitStruct.Pin = LED_Pin;
     GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
     GPIO_InitStruct.Pull = GPIO_PULLUP;
     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
     HAL_GPIO_Init(LED_GPIO_Port, &GPIO_InitStruct);

 }

Leí el manual de este chip, este pin limitado por corriente

  
  1. PC13, PC14 y PC15 se suministran a través del interruptor de encendido. Dado que el interruptor solo hunde una cantidad limitada de corriente (3 mA), el uso de   GPIOs PC13 a PC15 en modo de salida es limitado: la velocidad no debe   exceda de 2 MHz con una carga máxima de 30 pF y estos IO no deben ser   se utiliza como fuente actual (por ejemplo, para controlar un LED).
  2.   

Pero no me conecté al lugar

    
pregunta Hamed

1 respuesta

0

Utilizo este pin en INPUT Mod y para cambiar el estado desplegable o desplegable para establecer o restablecer el estado, este método funciona

  /*Configure GPIO pin : PtPin */
  GPIO_InitStruct.Pin = LED_G_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
  GPIO_InitStruct.Pull = GPIO_PULLUP;
  HAL_GPIO_Init(LED_G_GPIO_Port, &GPIO_InitStruct);

para cambiar el estado:

HAL_GPIO_WritePin(LED_G_GPIO_Port, LED_G_Pin, [GPIO_PIN_SET or RESET]);
  

Nota: uso mosfet para encender / apagar el LED, este pin solo soporta 3mA

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Hamed

Lea otras preguntas en las etiquetas