FreeRTOS相关API函数预览

本文详细介绍了嵌入式实时操作系统(RTOS)中关于任务创建、删除、挂起、恢复以及定时器的相关API函数,包括xTaskCreate、vTaskSuspend、vTaskResume等,帮助开发者理解和使用这些功能进行高效编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、任务创建和删除的API函数:

xTaskCreate()  使用动态的方法创建一个任务【所需RAM会自动从对RTOS中的堆中分配,需要heap_4.c,configSUPPORT_DYNAMIC_ALLOCATION需要等于1】
xTaskCreateStatic()  使用静态的方法创建一个任务
xTaskCreateRestricted() 创建一个使用MPU进行限制的任务,相关内存使用动态内存分配
vTaskDelete()  删除一个任务

2、任务挂起和恢复的API函数:

void vTaskSuspend(TaskHandle_t  xTaskToSuspend)挂起一个任务,此函数用于将某个任务设置为挂起状态,进入挂起状态的,任务都不会进入运行状态。退出挂起状态的唯一方法是调用任务恢复函数vTaskResum()或xTaskResumFromISR();xTaskToSuspend 为要挂起的任务句柄,创建任务的时候会为每个任务分配一个任务句柄。
eg:
TaskHandle_t xTestTask;
 xTaskCreate( prvTestTask, "Test", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, &xTestTask )
 vTaskSuspend( xTestTask ); vTaskSuspend( NULL )表示挂起任务自己。
也可以通过函数xTaskGetHandle()来根据任务名字来获取某个任务的任务句柄。

vTaskResume(TaskHandle_t  xTaskToresume[要恢复的任务句柄])恢复一个任务的运行
xTaskResumeFromISR() 中断服务函数中恢复一个任务的运行

3、定时器相关的API函数:

xTimeReset 复位软件定时器,用在任务中
xTimeResetFromISR   复位软件定时器,用在中断服务函数中


xTimerCreat 使用动态方法创建软件定时器
xTimerCreatStatic  使用静态方法创建软件定时器

xTimerStart    开启软件定时器,用于任务中
xTimerStartFromISR 开启软件定时器,用于中断中


xTimerStop    停止软件定时器,用于任务中
xTimerStopFromISR 停止软件定时器,用于中断中

4、来看一下以下与任务相关其他API函数有哪些:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值