FreeRTOS 任务切换
一、 任务基础知识
1.多任务系统与裸机的区别:
裸机是直接 main 函数内一个大的 while 循环(后台程序)完成所有的处理,可以使用
中断(前台程序),前后台各个任务排队轮流等候执行,相当于所有的程序优先级相同。
多任务系统支持优先级设置,高优先级可以打断低优先级任务的运行取得 cpu 使用权,
保证紧急任务的运行。
2.任务状态
3.任务优先级
a. 0----(configMAX_PRIORITIES-1)优先级:低----高
b. 空闲任务的优先级最低,为 0;
c.FREERTOS 调度器确保处于就绪态或运行态的高优先级的任务获取处理器使用权,也
就是说处于就绪态的最高优先级的任务才会运行。
d. 多个任务可以共用一个优先级
4.任务实现:
使用函数 xTaskCreate()或 xTaskcreateStatic()创建任务
任务函数的模板:
void task(void *par)
{
for(;;)
{
--任务应用程序—
评论0
最新资源