【FreeRTOS】常用API接口

本文详细介绍了FreeRTOS中的关键API接口,包括任务创建与管理(如xTaskCreate,vTaskDelete,vTaskPrioritySet),队列操作(xQueueCreate,xQueueSend等),信号量与资源管理,以及延时和任务切换功能(如vTaskDelay,taskYIELD)。
摘要由CSDN通过智能技术生成

【FreeRTOS】常用API接口

为方便快速检索,这里只留下对应的接口名和功能注释,具体传参和使用方法拿函数名百度搜。

任务相关

xTaskCreate() //创建任务
vTaskDelete( NULL ); //删除任务,传入NULL为删除当前的任务
vTaskStartScheduler();//启动任务调度器
vTaskPriofitySet();//改变任务优先级
uxTaskPriorityGet();//查询任务优先级

队列相关

xQueueCreate()//创建队列
xQueueSendToBack()//发送数据到队列尾部 
xQueueSendToFront()//发送数据到队列头部 
xQueueSendToBackFromISR()//中断中发送数据到队列尾部
xQueueSendToFrontFromISR()//中断中发送数据到队列头部
xQueueReceive()//读取队列首数据并删除
xQueuePeek()//读取队列首数据但不删除
xQueueReceiveFromISR()//中断中读取队列首数据并删除
uxQueueMessagesWaiting()//查询队列中当前有效数据单元个数
uxQueueMessagesWaitingFromISR()//中断中查询队列中当前有效数据单元个数

信号量相关

vSemaphoreCreateBinary()//创建二值信号量
xSemaphoreCreateCounting()//创建计数信号量
xSemaphoreTake()//获取(带走、接收)信号量,中断不可用
xSemaphoreGive()//释放(给出)信号量
xSemaphoreGiveFromISR()//中断中释放信号量//不能释放互斥信号量

资源管理相关

taskENTER_CRITICAL()与 taskEXIT_CRITICAL()//基本临界区
vTaskSuspendAll() //挂起调度器
xTaskResumeAll()//恢复调度器
xSemaphoreCreateMutex()//创建互斥量
xSemaphoreTake()/试图获得互斥量
xSemaphoreGive()//归还信号量

空闲任务回调(钩子函数)

vApplicationIdleHook()

在这里插入图片描述

延时(带阻塞性质)

vTaskDelay()//相对延时
vTaskDelayUntil()//绝对延时

taskYIELD()

taskYIELD()//*通知调度器立即进行任务切换

通知调度器立即进行任务切换,不必等到当前任务的时间片耗尽。某个任务调用 taskYIELD()等效于其自愿放弃运行态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值