Fork me on GitHub

FreeRTOS-中断相关坑

FreeRTOS-中断相关坑

1. FreeRTOS中断的配置

image
LIBRARY_LOWEST_INTERRUPT_PRIORITY:配置FreeRTOS最低优先级,SysTick和PendSV默认在此优先级
LIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY:高于该配置的优先级中断中都不能调用freertos的任何API,但是同时他也不会受freertos的内核影响而可以得到最实时的响应。如这里配置为5,uart1配置为4优先级,则uart1不受系统接管并且不能调用FreeRTOS的API。

2. 注意

如果LIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY配置为5。并且NVIC中配置的优先级符合接管条件(优先级大小为FreeRTOS可以接管的大小),那么在freertos运行之前(osKernelStart之前)配合相关中断的开关是不起作用的。
需要注意

  • 中断资源需不需要系统管理
  • 被系统管理的中断资源的控制应在系统运行起来之后
  • 不受系统管理的中断资源不能调用系统的API

下图中Uses FreeRTOS functions为是否要使用freertos的API,如果使能则优先级必须配置在规定的范围内。

image

posted @ 2021-11-19 09:59  一地鸡毛-  阅读(1363)  评论(0编辑  收藏  举报