FreeRTOS_系统内核控制函数

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

目录

1. 系统内核控制函数预览

2. 系统内核函数详解

2.1 函数 taskYIELD()

2.2 函数 taskENTER_CRITICAL()

2.3 函数 taskEXIT_CRITICAL()

2.4 函数 taskENTER_CRITICAL_FROM_ISR()

2.5 函数 taskEXIT_CRITICAL_FROM_ISR()

2.6 函数 taskDISABLE_INTERRUPTS()

2.7 函数 taskENABLE_INTERRUPTS()

2.8 函数 vTaskStartScheduler()

2.9 函数 vTaskEndScheduler()

2.10 函数 vTaskSuspendAll()

2.11 函数 xTaskResumeAll()

2.12 函数 vTaskStepTick()


        我们最初看到的计算机称为裸机,在裸机的基础上我们看到最外围的是操作系统,操作系统中的程序主要分为两部分:一是系统系统内核函数,另一个是用户自编程序;其中系统内核函数只供系统内核使用,用户应用程序一般不允许使用,这些 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值