configKERNEL_INTERRUPT_PRIORITY
时间: 2024-06-07 14:04:21 浏览: 247
设置进程优先级别
`configKERNEL_INTERRUPT_PRIORITY`是一个FreeRTOS中的宏,用于设置内核中断的优先级。FreeRTOS支持多个中断优先级,其中数字越小的优先级越高。`configKERNEL_INTERRUPT_PRIORITY`宏被设置为一个数字,该数字表示内核中断的优先级。在FreeRTOS配置中,内核中断的优先级必须高于最高应用程序任务的优先级。这样可以确保内核中断始终可以响应。例如,如果最高应用程序任务的优先级是2,那么可以将`configKERNEL_INTERRUPT_PRIORITY`设置为3或更高的数字。如果应用程序任务的优先级高于内核中断的优先级,则可能会导致系统冻结或崩溃。
下面是一个使用`configKERNEL_INTERRUPT_PRIORITY`的示例:
```c
/* 设置内核中断优先级 */
#define configKERNEL_INTERRUPT_PRIORITY 3
/* 其他配置宏 */
#define configMAX_PRIORITIES ( 5 )
#define configUSE_PREEMPTION 1
#define configUSE_TIME_SLICING 1
#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0
...
```
以上代码设置内核中断的优先级为3。注意,如果配置中使用了FreeRTOS的软件定时器,则还需要将`configLIBRARY_LOWEST_INTERRUPT_PRIORITY`宏设置为大于或等于最低优先级,以确保定时器中断的优先级不会低于内核中断的优先级。
阅读全文