RTC例程移植到FreeRTOS后,运行异常。
程序进入 HardFault_Handler,死循环。
请问一下,是什么原因?
硬件:CH32V20x 评估板
程序: CH32V20xEVT文件,里面的Freertos程序,移植加入了RTC例程。中断服务程序已经配置好。
单独运行RTC例程是可以正常打印时间的。
初步怀疑是中断优先级设置有误,是不是跟freertos的中断优先级有冲突:
----------------------
void RTC_NVIC_Config(void)
{
NVIC_InitTypeDef NVIC_InitStructure = {0};
NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
------------------------
NVIC_IRQChannelPreemptionPriority 与 NVIC_IRQChannelSubPriority ,我改了好几组不同的数字,还是不行。