一、中断优先级任何中断的优先级都大于任务在我们的操作系统中断同样是具有优先级的并且我们也可以设置它的优先级但是他的优先级并不是从0~15 默认情况下它是从5~150~4这5个中断优先级不是FreeRTOS控制的5是取决于configMAX_SYSCALL_INTERRUPT_PRIORITY。注意1. 在中断中必需使用中断相关的函数2. 中断服务函数运行时间越短越好。二、cubeMX配置三、测试代码void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { //中断程序 } void WU_Task_3(viod) { BaseType_t status; uint32_t ydd 0; if(click_2()1) { wu_cs--; // status xQueueReceive(WUQueue01Handle, buf, 0);//读取队列 // if (status pdTRUE) // d21; // else // d20; // if(xSemaphoreTake(WUBinarySem01Handle, portMAX_DELAY ) pdTRUE) // d21; // else // d20; // if (xSemaphoreTake(WUCountingSem01Handle, 0 ) pdTRUE) // d21; // else // d20; // xEventGroupSetBits(eventgroup_handle, 0x02);// KEY2 按下 // ydd ulTaskNotifyTake(pdTRUE, portMAX_DELAY); // if(ydd ! 0) // Seria1_Printf(RXD:任务通知模拟二值信号量接收成功\r\n); //测试程序 }参考资料1. FreeRTOS官方文档https://www.freertos.org/2. STM32 HAL库开发手册本文为个人学习笔记整理仅供学习交流使用。