STM32F103系列芯片想使用PC13、PC14、PC15作为普通I/O使用,这几个IO跟RTC有关,需要进行一些相关配置,标准库的配置网上有很多参考资料了,这里用HAL库配置如下:
__HAL_RCC_GPIOC_CLK_ENABLE(); //GPIO Ports Clock Enable
__HAL_RCC_AFIO_CLK_ENABLE();
HAL_PWR_EnableBkUpAccess(); //允许修改RTC 和后备寄存器
__HAL_RCC_LSE_CONFIG(RCC_LSE_OFF);//关闭外部低速外部时钟信号功能后,PC13 PC14 PC15 才可以当普通IO用。
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_SET);
GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
HAL_PWR_DisableBkUpAccess(); //禁止修改后备寄存器