飘窗的制作
xTaskCreate()API函数的uxPrddddiority参数为正在创建的任务分配初始优先级。 通过使⽤vTaskPrioritySet()API函数启动调度程序后,可以更改优先级。 可⽤的最⼤优先级数由FreeRTOSConfig.h中的应⽤程序定义的configMAX_PRIORITIES编译时配置常量设置。 低数字优先级值表⽰低优先级任务,优先级为0是可能的最低优先级。 因此,可⽤优先级的范围为0到(configMAX_PRIORITIES - 1)。 任何数量的任务可以共享相同的优先级 - 确保最⼤的设计灵活性。 FreeRTOS调度程序可以使⽤两种⽅法之⼀来决定哪个任务处于运⾏状态。 可以设置configMAX_PRIORITIES的最⼤值取决于使⽤的⽅法:
1. 通⽤⽅法
通⽤⽅法在C中实现,可以与所有FreeRTOS架构端⼝⼀起使⽤。
当使⽤通⽤⽅法时,FreeRTOS不会限制可以设置configMAX_PRIORITIES的最⼤值。 然⽽,始终建议将
热熔胶封箱机
configMAX_PRIORITIES值保持在必要的最⼩值,因为它的值越⾼,将消耗的RAM越多,并且最坏的执⾏时间将越长。
如果在FreeRTOSConfig.h中将configUSE_PORT_OPTIMISED_TASK_SELECTION设置为0,或者如果
configUSE_PORT_OPTIMISED_TASK_SELECTION未定义,或者通⽤⽅法是为使⽤的FreeRTOS端⼝提供的唯⼀⽅法,则将使⽤通⽤⽅法。
三元醇2.架构优化⽅法
边侧
架构优化⽅法使⽤少量的汇编代码,并且⽐通⽤⽅法更快。 configMAX_PRIORITIES设置不会影响最坏的执⾏时间。
如果使⽤架构优化⽅法,那么configMAX_PRIORITIES不能⼤于32. 与通⽤⽅法⼀样,建议将configMAX_PRIORITIES保持在必要的最⼩值,因为它的值越⾼,RAM将被消耗越多。
蒸汽减压减温装置如果在FreeRTOSConfig.h中configUSE_PORT_OPTIMISED_TASK_SELECTION设置为1,将使⽤体系结构优化⽅法。
不是所有的FreeRTOS端⼝都提供⼀种架构优化的⽅法。
saw1
FreeRTOS调度程序将始终确保能够运⾏的最⾼优先级任务是选择进⼊运⾏状态的任务。 如果具有相同优先级的多个任务能够运⾏,则调度程序将依次转换每个任务进出运⾏状态。