目录
2.4 函数 taskENTER_CRITICAL_FROM_ISR()
2.5 函数 taskEXIT_CRITICAL_FROM_ISR()
2.6 函数 taskDISABLE_INTERRUPTS()
2.7 函数 taskENABLE_INTERRUPTS()
我们最初看到的计算机称为裸机,在裸机的基础上我们看到最外围的是操作系统,操作系统中的程序主要分为两部分:一是系统系统内核函数,另一个是用户自编程序;其中系统内核函数只供系统内核使用,用户应用程序一般不允许使用,这些 API 函数就是系统内核控制函数;本节我们就来学习这些系统内核控制函数。
1. 系统内核控制函数预览
顾名思义,内核控制函数就是 FreeRTOS 内核所使用的函数,一般情况下应用层程序不使用这些函数,在 FreeRTOS 官方可以找到这些函数,

这些函数的含义如下:
taskYIELD() 任务切换
taskENTER_CRITICAL() 进入临界区,用于任务中
taskEXIT_CRITICAL() 退出临界区,用于任务中
taskENTER_CRITICAL_FROM_ISR() 进入临界区,用于中断服务函数中
taskEXIT_CRITICAL_FROM_ISR() 离开临界区,用于中断服务函数中
taskDISABLE_INTERRUPTS() 关闭中断
taskDISABLE_INTERRUPTS() 打开中断
vTaskStartScheduler() 开启任务调度器
vTaskEndScheduler() 关闭任务调度器
vTaskSuspendAll() 挂起任务调度器
xTaskResumeAll() &n
FreeRTOS内核控制函数详解

本文详细介绍了FreeRTOS系统内核的控制函数,包括任务切换、临界区管理、中断处理以及任务调度器的启动和关闭。重点讲解了taskYIELD()、taskENTER_CRITICAL()、taskEXIT_CRITICAL()及其在中断服务函数中的变体,以及如何使用vTaskStartScheduler()和vTaskEndScheduler()来控制任务调度器的运行。文章还讨论了任务挂起和恢复以及系统节拍设置函数vTaskStepTick()在低功耗模式下的作用。
最低0.47元/天 解锁文章
1218

被折叠的 条评论
为什么被折叠?



