当前位置: 代码迷 >> 综合 >> Error:..\FreeRTOS\portable\RVDS\ARM_CM3\port.c
  详细解决方案

Error:..\FreeRTOS\portable\RVDS\ARM_CM3\port.c

热度:104   发布时间:2023-11-16 21:41:11.0

解决:查看 FreeRTOSConfig.h 文件中配置的宏 #define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY ,即系统可管理最高中断优先级。查看你配置的串口中断优先级是否比该宏定义的优先级低,如果不是,则要修改。

  • 例如
  • 若此时我将串口1(或串口2)的抢占优先级更改为 2(1~4均可)都会产生如上警告。
// 文件 main.cNVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); // 中断组 4// 文件 FreeRTOSConfig.h:#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY	5	//RTOS系统可管理的最高中断优先级// 文件 usart.c://Usart1 NVIC 配置NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=  8;//抢占优先级8NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;				//子优先级0NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;			NVIC_Init(&NVIC_InitStructure);	USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);									nvicInitStruct.NVIC_IRQChannel = USART2_IRQn;nvicInitStruct.NVIC_IRQChannelCmd = ENABLE;nvicInitStruct.NVIC_IRQChannelPreemptionPriority = 7; //抢占优先级7nvicInitStruct.NVIC_IRQChannelSubPriority = 0;				//子优先级0NVIC_Init(&nvicInitStruct);
  相关解决方案