本来想将正点原子freeRTOS中断优先级测试的代码用cube配置后移植,但发现开了freeRTOS中断优先级数最小是5测试不了屏蔽中断优先级,深入了解发现cube里面已经屏蔽好了。
首先,中断优先级数越小,优先级越高。
1.正点原子教程中:configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY此宏用来设置 FreeRTOS 系统可管理的最大优先级,默认设置为 5。也就是高于 5 的优先级(优先级数小于 5)不归 FreeRTOS 管理!
2.cubemx中:LIBRARY_LOWEST_INTERRUPT_PRIORITY:此宏是用来设置最低优先级,FreeRTOS 使用的4位优先级,对应16位优先级,对应的最低优先级为15。
LIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY设置FreeRTOS 系统可管理的最大优先级,也就是设置阈值优先级,这个大家可以自由设置,这里设置为5,也就是高于5 的优先级(优先级数小于5)不归 FreeRTOS 管理。
开启freeRTOS后,中断优先级数最小只能是5,在配置选项里就选好了减少之后代码的麻烦,好方便。
版权声明:本文为weixin_46261374原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。