1、使用freertos最重要的是按设备的实际条件,配置好FreeRTOSConfig.h文件,这里不详细展开这个文件,只说几个和任务调度最终要的量,configTICK_RATE_HZ配置内核运行频率,1000就是1ms运行一次,自动做一次任务调度。
2、freertos是靠SysTick时钟中断驱动的,要运行起来就要在配置文件里,配置后3个系统中断,如下图。
3、接下来配置好freertos运行周期和驱动中断后,要配置后任务优先级,这里使用CMSIS-RTOS库中对RTOS优先级的统一定义,如下图的8种优先级。
4、简单示例一下,如下图,配置两个任务,一个初始化任务,一个USB任务,分别设置成正常优先级和高优先级。
5、使用vTaskStartScheduler函数即可启动freertos内核,开始任务调度。
6、这里再说一下任务主动调度的情况,使用osSemaphoreWait函数,如果这个信号量没有就绪,这个任务就会主动被切换走,直到信号被发送出来,如下图所示,这是任务主动调度的情况。