001_FREERTOS中断配置

匿名 (未验证) 提交于 2019-12-02 23:38:02

(一)优先级看:022_STM32中断优先级分组解析

(二)FreeRTOS的中断配置中没有处理亚优先级(响应优先级)的情况,所以只能配置成组4,16个都为抢占优先级

(三)此宏用来设置 MCU 使用几位优先级,STM32 使用的是 4 位,因此此宏为 4! 2^4=16,那么就有16个优先级

 #define configPRIO_BITS               4   

(四)设置系统的优先级。最低优先级就是15,系统能管理的最高优先级是5,也就是说小于5的优先级FreeRTOS不能管理

 #define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 15 //中断最低优先级 #define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY    5 //系统可管理的最高中断优先级

(五)关中断和开中断,vPortRaiseBASEPRI() 是 向 寄 存 器 BASEPRI 写 入 宏configMAX_SYSCALL_INTERRUPT_PRIORITY ,那 么 优 先 级 低 于configMAX_SYSCALL_INTERRUPT_PRIORITY 的中断就会被屏蔽!

 #define portDISABLE_INTERRUPTS()  vPortRaiseBASEPRI()    /*关中断*/ #define portENABLE_INTERRUPTS()  vPortSetBASEPRI(0)     /*开中断*/

文章来源: https://blog.csdn.net/xiaoguoge11/article/details/91288798
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!