【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);
相关推荐
菜冻鱼13 分钟前
Python-sklearn-特征工程
开发语言·人工智能·python·机器学习·numpy·matplotlib·sklearn
SL_staff31 分钟前
JVS数字底座实践:如何复用企业文档能力快速构建知识类应用
java·数据库·程序员
sugar__salt33 分钟前
MyBatis ③动态 SQL 完全指南 —— 从条件拼接到批量操作
java·sql·mybatis
吴声子夜歌34 分钟前
正则指引——PHP
开发语言·正则表达式·php
吃饱了得干活44 分钟前
Java并发安全:看这一篇就懂了!
java·后端·面试
前端双越老师1 小时前
前端学习 Java 其实很容易:TS 和 Java 语法的 N 个相同点
java·全栈
Claire_881 小时前
企业文件管理系统选型技术框架与主流产品对比分析
开发语言·php
(Charon)1 小时前
【C++】:使用 mutex + deque 实现一个简单的 LockedQueue
开发语言·c++
星轨初途1 小时前
LeetCode 热题 100——day10 和为 K 的子数组
开发语言·c++·算法·leetcode
sycmancia1 小时前
Qt——自定义控件温度计
开发语言·qt