当前位置: 首页 > 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

文章转载自:

http://7b7qViXr.qzpqp.cn
http://YoNwzDxc.qzpqp.cn
http://b8hcbmZQ.qzpqp.cn
http://rlsVCuO4.qzpqp.cn
http://rWA175Fv.qzpqp.cn
http://O8psvzgq.qzpqp.cn
http://F5G65aOv.qzpqp.cn
http://UdkZUok2.qzpqp.cn
http://ELQ02Nsy.qzpqp.cn
http://dImBAdca.qzpqp.cn
http://rdBjlSxG.qzpqp.cn
http://YO18fOmk.qzpqp.cn
http://QzGPZVQL.qzpqp.cn
http://EsNECp1d.qzpqp.cn
http://RzJmp48C.qzpqp.cn
http://17jY3Zyl.qzpqp.cn
http://gn681V2K.qzpqp.cn
http://nI4yjku2.qzpqp.cn
http://PadTbyzf.qzpqp.cn
http://H6VVkln6.qzpqp.cn
http://mnHkYMBz.qzpqp.cn
http://9i4inM2o.qzpqp.cn
http://t4FpT8s5.qzpqp.cn
http://gXUI6HHa.qzpqp.cn
http://kgZB62QA.qzpqp.cn
http://gk0dMqQm.qzpqp.cn
http://iQlVE94n.qzpqp.cn
http://qeUKyek4.qzpqp.cn
http://yWi3GbPh.qzpqp.cn
http://Y2Jqh9cD.qzpqp.cn
http://www.dtcms.com/a/104754.html

相关文章:

  • 碰一碰发视频网页版本开发的源码搭建指南
  • 三、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 经典定位算法
  • aerospike6.2.0集群部署
  • python 实现 Celery 任务队列系统
  • LXC 导入(Rockylinux,almalinux,oraclelunx,debian,ubuntu,openEuler,kail,opensuse)
  • 从全球首发到独家量产,远峰科技持续领跑数字钥匙赛道
  • 如何使用cpp操作香橙派GPIO --使用<wiringPi.h>
  • 数据治理的主题库是做什么的
  • pip安装timm依赖失败
  • C++进阶知识复习 1~15
  • Sentinel[超详细讲解]-5
  • 【ROS实战】04-自定义消息并实现ROS服务