当前位置: 首页 > news >正文

ESP-IDF中调用xEventGroupWaitBits函数失效问题的分析(1)

笔者在使用ESP-IDF时,在自己的工程中遇到了一个十分奇怪的问题:

在代码中调用xEventGroupWaitBits函数时,一开始没有问题,但当任务挂起(suspend)又恢复(resume)后,原本应该阻塞住的XEventGroupWaitBits函数竟然能够“漏过去”,其下的打印居然能够显示出来。

上边说得简单明了,但实际上笔者一点点缩小范围、逐步定位,再到总结出以上发现,用了将近一整天时间。

为了验证这个问题,笔者专门做了一个测试例程(把原来工程中的大量不相关的代码略去),其中只包括了很简单原始的几个函数。代码如下:

/*
 * SPDX-FileCopyrightText: 2010-2022 Espressif Systems (Shanghai) CO LTD
 *
 * SPDX-License-Identifier: CC0-1.0
 */

#include <stdio.h>
#include <inttypes.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_chip_info.h"
#include "esp_flash.h"
#include "esp_system.h"
#include "esp_log.h"
#include "freertos/queue.h"
#include "freertos/semphr.h"

#define BIT_DEVICE_CREATE_DONE (1U

相关文章:

  • 碰一碰发视频网页版本开发的源码搭建指南
  • 三、FFmpeg学习笔记
  • 26--DHCP Snooping:网络世界的“房产中介资格认证系统“
  • 解锁健康密码,踏上养生旅程
  • YOLOV8 训练姿态检测模型
  • linux权限
  • 【实战】渗透测试下的传输命令
  • Linux安装Ubuntu24.04系统 并安装配置Nvidia 4090 显卡驱动
  • PTS-G3K13M RF Generator 3kW / 13MHz User’s Manual 手侧
  • Redis 6.2.6 生产环境单机配置详解redis.conf
  • 循环神经网络 - 简单循环网络
  • 正则表达式最小生成树算法题
  • 安全编码课程 实验5 动态内存(3)
  • Linux进程间通信:无名管道与有名管道的原理与实践
  • 4月1日工作日志
  • 用python编写poc的流程
  • 文件系统简介
  • web前端开发-HTML-CSS(0-1)
  • Python入门(4):函数
  • WSN 经典定位算法
  • 女排奥运冠军宋妮娜:青少年保持身心健康才能走得更远
  • 雅典卫城上空现“巨鞋”形状无人机群,希腊下令彻查
  • 世界数字教育大会发布“数字教育研究全球十大热点”
  • 【社论】城市更新,始终以人为核心
  • 美国务卿会见叙利亚外长,沙特等国表示将支持叙利亚重建
  • 车主质疑零跑汽车撞车后AEB未触发、气囊未弹出,4S店:其把油门当刹车