【ESP32-S3】task和queue的使用

task使用

c++ 复制代码
//第一步 全局变量
TaskHandle_t energyTaskHandle = NULL;

//第二步 创建energy_wake_detection_task任务
xTaskCreatePinnedToCore(energy_wake_detection_task, "EnergyWake", 8192, NULL, 1, &energyTaskHandle, 0);

//第三步 使用这个TaskHandle_t
if (energyTaskHandle != NULL) {
  vTaskDelete(energyTaskHandle);
  energyTaskHandle = NULL;
  Serial.println("能量检测任务已停止");
}

队列的使用

c++ 复制代码
//第一 全局变量
static QueueHandle_t audioQueue = NULL;

//第二 创建队列
audioQueue = xQueueCreate(5, 256);

//第三 队列是否为空
if (audioQueue != NULL && isSpeak == false) {

//第四 向队列发送数据
xQueueSend(audioQueue, urlBuffer, 0);

//第五 队列接收数据到temp
xQueueReceive(audioQueue, temp, 0);

//第六 判断等待的队列有多少
while (uxQueueMessagesWaiting(audioQueue) > 0) {

//第七 清空集群
char temp[256];
xQueueReceive(audioQueue, temp, 0);
相关推荐
kaikaile19954 分钟前
数字全息图处理系统(C# 实现)
开发语言·c#
秋91 小时前
Go语言(Golang)开发工程师全景解析:岗位职责·语言优势与使用场景·各城市薪资·发展前景·高考志愿填报(2026版)
开发语言·golang·高考
huangdong_2 小时前
1688商品图片采集技术解析:登录态处理与SKU图自动分类
开发语言
马士兵教育2 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习
chase_my_dream2 小时前
C++ + SLAM 高频面试问题整理
开发语言·c++·面试
snow@li2 小时前
Java:理解 Gradle / 后端项目的管家 / 打包SpringBoot 应用 / 完成编译、下载依赖、运行测试、打包 JAR/WAR / 速查表
java
Cloud_Shy6183 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 30 - 32)
开发语言·人工智能·笔记·python·学习方法
云烟成雨TD3 小时前
Spring AI 1.x 系列【57】动态工具发现:Tool Search Tool
java·人工智能·spring
zfoo-framework3 小时前
[修改代码使用]codex官方app中使用中转(不需要cc-switch) 1.config.toml 2.sk方式登录
java
天佑木枫3 小时前
15天Python入门系列 · 序
开发语言·python