FreeRTOS操作系统配置文件FreeRTOSConfig.h

一.前言

FreeRTOSConfig.h文件中有许多宏定义,这些宏定义就像开关一样,为1就是开,为0就是关。里面宏定义挺多的。在这里就挑几个稍微重要一点的讲。其它的也有注释,可以去博主的资源里面下载。也是免费的。

二.宏定义

2.1 任务管理机制宏定义

我们知道FreeRTOS可以使用抢占式和协作式二种多任务管理机制。抢占式就说根据优先级来抢占。而协作式其实就是优先级相同,采用时间片来执行。(其实也就是轮流执行)。所以就是有二个宏。这里我选择都打开。

#define configUSE_PREEMPTION	1				  

//1使能时间片调度(默认式使能的)
#define configUSE_TIME_SLICING	1					

2.2 FreeRTOS时钟

FreeRTOS也有它自己的时钟,也就是整个系统的心脏。这里我们可以配置它的心跳。即RTOS系统节拍中断的频率。即一秒中断的次数,每次中断RTOS都会进行任务调度。这里我配置为 1s/1000=1ms。

#define configTICK_RATE_HZ	(( TickType_t )1000)					  

2.3 FreeRTOS最大优先级

相较于中断优先级,数字越小,中断优先级越高。FreeRTOS是数字越大,优先级越高。这里有宏定义可以配置最大优先级是多少

#define configMAX_PRIORITIES   (32)				

2.4 FreeRTOS内存申请

任务创建可以使用动态创建和静态创建,我选择的是动态创建

//支持动态内存申请
#define configSUPPORT_DYNAMIC_ALLOCATION  1           
//支持静态内存
#define configSUPPORT_STATIC_ALLOCATION	  0									
//系统所有总的堆大小
#define configTOTAL_HEAP_SIZE		((size_t)(36*1024)) 			  

FreeRTOS软件定时器

FreeRTOS也有软件定时器,这里也有一个宏定义进行开关。

#define configUSE_TIMERS	              1			            

结语

这里也仅是挑了几个我认为比较重要的讲,其他的可以参考博主资源中的FreeRTOSConfig.h 文件。

猜你喜欢

转载自blog.csdn.net/qq_62553914/article/details/131329345
今日推荐