以下是一个基于 ESP32 - S3 实现消息队列收发测试的 C 例程

以下是一个基于 ESP32 - S3 实现消息队列收发测试的 C 例程,该例程使用了 ESP - IDF(Espressif IoT Development Framework)。消息队列是 FreeRTOS 提供的一种机制,用于在不同任务之间传递数据。

代码实现

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

// 定义消息队列句柄
QueueHandle_t xQueue;

// 发送任务
void vSenderTask(void *pvParameters) {
    int sendValue = 0;
    while (1) {
        // 向消息队列发送数据
        if (xQueueSend(xQueue, &sendValue, portMAX_DELAY) == pdPASS) {
            printf("Sent value: %d\n", sendValue);
        }
        sendValue++;
        // 任务延时 1 秒
        vTaskDelay(pdMS_TO_TICKS(1000));
    }
}

// 接收任务
void vReceiverTask(void *pvParameters) {
    int receivedValue;
    while (1) {
        // 从消息队列接收数据
        if (xQueueReceive(xQueue, &receivedValue, portMAX_DELAY) == pdPASS) {
            printf("Received value: %d\n", receivedValue);
        }
    }
}

void app_main(void) {
    // 创建消息队列,队列长度为 10,每个元素大小为 int 类型
    xQueue = xQueueCreate(10
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值