FreeRTOS中断配置宏
| 宏 | 描述 |
|---|---|
configPRIO_BITS |
设置MCU使用几位优先级,在STM32中使用4位 |
configLIBRARY_LOWEST_INTERRUPT_PRIORITY |
设置最低优先级 |
configKERNEL_INTERRUPT_PRIORITY |
设置内核中断优先级 |
configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY |
设置FreeRTOS系统可管理的最大优先级 |
configMAX_SYSCALL_INTERRUPT_PRIORITY |
见下方 |
configMAX_SYSCALL_INTERRUPT_PRIORITY是宏configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY左移4位而来的,此宏设置好之后,低于此优先级的中断可以安全的调用FreeRTOS的API函数,高于此优先级的中断FreeRTOS是不能禁止的,中断服务函数也不能调用FreeRTOS的API函数。
以STM32为例,有16个优先级,0为最高优先级,15为最低优先级,配置如下:
#define configMAX_SYSCALL_INTERRUPT_PRIORITY 5#define configKERNEL_INTERRUPT_PRIORITY 15

FreeRTOS开关中断
FreeRTOS开关中断函数为portENABLE_INTERRUPTS()和portDISABLE_INTERRUPTS(),这两个函数实际上都是宏,
在portmacro.h中&#x
本文详细介绍了FreeRTOS中断配置宏的使用,如何在STM32中设置中断优先级,以及FreeRTOS的中断开关函数`vPortEnterCritical`和`vPortExitCritical`。还探讨了临界段代码的概念,强调了任务级和中断级临界段代码保护的重要性,并提供了保护代码的示例。
最低0.47元/天 解锁文章
964

被折叠的 条评论
为什么被折叠?



