【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);
相关推荐
古法安卓4 小时前
Android-日志系统源码解析
android·java·android studio
小夏coding5 小时前
从"一把梭"到"精妙拆解" —— 滑动窗口计时框架的设计演进
java·后端
MacroZheng6 小时前
同事问我:"Claude Code经常失忆,不怕它把项目搞炸?",我:"怕,三个Markdown文件给它装个永不丢失的外置大脑!"
java·人工智能·后端
十年Java程序媛8 小时前
深度实战:JDK21 虚拟线程 + HikariCP 生产正确配比、坑点、监控全套
java·spring boot
xiaoqiMikko8 小时前
有人在搜一个不存在的 Tomcat 版本
java·tomcat
用户31268748772011 小时前
ConcurrentHashMap 怎么保证线程安全?从分段锁到 CAS+synchronized
java
vipxieliang11 小时前
ValidX vs Apache Commons Validator:功能与性能对比
java·spring boot
SimonKing11 小时前
升级Spring Boot 4后,从 Jackson 2 到 3,到底有哪些变化
java·后端·程序员
吃饱了得干活12 小时前
一篇讲清楚Spring Boot:自动装配、启动器、过滤器、拦截器、设计模式
java·spring boot·后端
lhldsg13 小时前
AI零售系统实战指南:从架构设计到落地部署全解析
java·人工智能·小程序·uni-app·零售