有场景需要把带RTC引脚功能的IO当做普通的GPIO使用,但是按照正常的GPIO初始化却无法使用,该芯片手册中有给出介绍
现给出配置方法,参考官方SDK里面PC13的配置:
// PC13
GPIOC_Handle.Pin = GPIO_PIN_13;
GPIOC_Handle.Mode = GPIO_MODE_OUTPUT_PP;
GPIOC_Handle.Alternate = GPIO_FUNCTION_0;
HAL_GPIO_Init(GPIOC, &GPIOC_Handle);
/* RTC access enable */
System_Enable_Disable_RTC_Domain_Access(FUNC_ENABLE);
__HAL_RTC_PC13_SEL(0); // GPIO function
__HAL_RTC_PC13_PULL_UP_ENABLE();
__HAL_RTC_PC13_DIGIT();
注意后面几个RTC的函数要全部调用,第一个函数代表复用,第二个函数代表是否带上下拉,第三个函数代表配置IO成数字的还是模拟的
经过上面的配置之后,就可以把PC13,PC14,PC15当成普通的GPIO去使用了