freertos task创建和 queue使用简述

本文简述了FreeRTOS系统中的任务(task)创建和队列(queue)的使用。通过xTaskCreate()函数可以创建任务,参数包括入口函数、任务名、栈大小、传递给任务的参数、优先级和任务指针。任务优先级数值越大,优先级越高。示例中展示了任务和队列的基本创建。将队列与任务关联后,任务可以从队列中取出消息处理,无消息时会休眠等待。

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

freertos中的task可以任务是一个线程,它是freertos系统调度的一个单位,使用xTaskCreate() 可以创建出task,函数原型如下

BaseType_t xTaskCreate(TaskFunction_t pxTaskCode,
                       const char *const pcName,
                       const uint16_t usStackDepth,
                       void *const pvParameters,
                       UBaseType_t uxPriority,
                       TaskHandle_t *const pxCreatedTask) PRIVILEGED_FUNCTION;

第一个参数是task的入口函数;第二个参数是task 的名称,第三个参数是task的栈大小(单位不一定是字节,有些平台是4字节对齐,所以栈大小为usStackDepth * 4 字节),第四个参数是传到入口函数的参数,第五个参数是task的优先级,数值越大优先级越高(idle 的优先级是0),第六个参数是指向创建出来task的指针,可用于销毁该task。

下面是一个简单的示例

#include <stdio.h>
#include <string.h>
#include "FreeRTOS/FreeRTOS.h"
#include "FreeRTOS/task.h"
#include "FreeRTOS/queue.h"

#define DEMO_TASK_NAME          "demo_task"               // 任务名称
#define DEMO_TASK_PRIORITY	    (tskIDLE_PRIORITY + 12 )  // 任务优先级
#define DEM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值