esp32 event loop handle 代码

2023-05-16

#include <stdio.h>
#include <stdbool.h>
#include <unistd.h>

#include "esp_event.h"
#include "esp_timer.h"

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"

ESP_EVENT_DECLARE_BASE(TIMER_EVENTS);  // declaration of the timer events family

enum {        // declaration of the specific events under the timer event family
	TIMER_EVENT_STARTED,               // raised when the timer is first started
	TIMER_EVENT_EXPIRY,         // raised when a period of the timer has elapsed
	TIMER_EVENT_STOPPED                // raised when the timer has been stopped
};

/* Event source periodic timer related definitions */
ESP_EVENT_DEFINE_BASE(TIMER_EVENTS);

void timer_started_handler(void *event_handler_arg, esp_event_base_t event_base,
		int32_t event_id, void *event_data) {
	   static int count = 0;
	    count++;
	printf("event_id: %ld , count : %d\n", event_id,count);
}

void app_main(void) {
	ESP_ERROR_CHECK(esp_event_loop_create_default());

	ESP_ERROR_CHECK(
			esp_event_handler_instance_register(TIMER_EVENTS, TIMER_EVENT_STARTED, timer_started_handler, NULL, NULL));
	ESP_ERROR_CHECK(
			esp_event_handler_instance_register(TIMER_EVENTS, TIMER_EVENT_STOPPED, timer_started_handler, NULL, NULL));

	while (1) {
		ESP_ERROR_CHECK(
				esp_event_post(TIMER_EVENTS, TIMER_EVENT_STARTED, NULL, 0, portMAX_DELAY));
		sleep(1);
		ESP_ERROR_CHECK(
				esp_event_post(TIMER_EVENTS, TIMER_EVENT_STOPPED, NULL, 0, portMAX_DELAY));
		sleep(1);

	}
//    while (true) {
//        printf("Hello from app_main!\n");
//        sleep(1);
//    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

esp32 event loop handle 代码 的相关文章

  • ESP32-cam 初体验 从esp32-cam的购买到局域网监控的实现

    ESP32 cam小项目 helloworld项目 前言 手头有一块esp32 cam闲置很久了 因为比赛和找工作的事情导致许欸小延期了很久 还是因为懒 最近从小仓库把板子捞出来了 上手玩一玩 本次学习参考了B站up 小铭同学 的教程 教程
  • SimpleFOC无刷电机平衡小车

    前言 本科毕业于自动化 期间学习了各种电机运动控制原理 自动控制原理 但是只会考试而未究其理 最近接触到simplefoc这个基于arduino的开源无刷电机驱动库 想正好借此机会将本科学到的内容用于实际 于是就有了这个小项目 基于无刷电机
  • 解决VSCode中查看ESP32日志乱码

    问题现象 在VSCode的Monitor中查看ESP32输出的日志乱码 如下图 原因 在VSCode中IDF默认的Monitor串口波特率为460800 然而ESP32输出Log的串口波特率默认为115200 因串口波特率不匹配导致Moni
  • OPENV接收和发送串口的数据

    import sensor image time from pyb import UART from pyb import Pin Timer LED import re sensor reset sensor set pixformat
  • 在 Matlab 中通过函数句柄传递附加参数

    我有一个需要优化的函数 比如 Matlab 中的 Function 该函数取决于我想要优化的变量 例如 x 和一个不需要优化的参数 例如 Q 因此 函数 Function x Q 换句话说 我有一个 Q 值数组 并且想要为每个 Q 找到最佳
  • 强制创建控制句柄

    我目前正在创建一个无声打印模块 我正在使用的当前控件是 它确保控制句柄已经创建 IsHandleCreated 我想尽一切办法来欺骗这个 但一点运气都没有 您是否有关于如何为控件创建句柄而不在屏幕上显示任何句柄的想法 您必须访问Handle
  • 如何初始化类句柄向量?

    我有一个基于句柄的类 我需要创建它的向量 执行此操作的一个简单方法是在 for 循环中动态构造向量 但这会导致mlint抱怨向量大小的变化 classdef HandleClass lt handle end for i 1 10 foo
  • 处理复制/粘贴或键入时 Eclipse 太滞后

    当我通过 Ctrl C Ctrl V 复制 粘贴或键入代码时 我的 Eclipse 相当延迟 3 4 秒来处理 有时 它会导致我的CPU负载达到100 我真的需要关于这个问题的建议 对于 OP 来说可能有点晚了 但我在使用 CTRL C C
  • lseek/write 突然返回 -1 且 errno = 9(错误文件描述符)

    我的应用程序使用lseek 寻找所需的位置来写入数据 文件已成功打开 使用open 我的应用程序能够使用lseek and write 很多次 在给定时间 对于某些用户来说并且不容易重现 lseek 返回 1 并带有errno9 在此之前文
  • 是否可以在没有 try 块的情况下测试函数句柄?

    是否可以将以下代码替换为不使用异常的代码 手柄x是提供的句柄 我想在使用之前测试它的有效性 有实际的代码来支持句柄 x notreallyafunction try x catch disp Sorry function does not
  • 句柄、指针和引用之间有什么区别

    句柄与指向对象的指针有何不同 为什么我们不能拥有对引用的引用 句柄通常是一个opaque对一个对象的引用 句柄的类型与引用的元素无关 例如 考虑由返回的文件描述符open 系统调用 类型是int但它代表打开文件表中的一个条目 表中实际存储的
  • 如何修改子图位置以阻止它们相互覆盖?

    我正在尝试创建世界地图的子图 6 个图 并在其中写入选定的形状文件 我的问题在于我对子图的放置 它们互相覆盖 我从 stackoverflow 上的其他问题中了解到 这是因为轴以某种方式重叠 但我认为我创建的位置只是 并排 参见下面的代码
  • Google iot MQTT - ESP32 首次连接,仅在 30m 后重新连接

    我正在使用 ESP32 与谷歌物联网云合作 我发送假值只是为了使用 MQTT 数据 PUB SUB 进行测试 显然我成功发布了值 有时 我无法重新连接到谷歌物联网 我不知道为什么它不断检查 wifi publishing 并且不检查 JWT
  • C++ 中的句柄是什么?

    有人告诉我 句柄有点像指针 但其实不是 它允许您保留对对象的引用 而不是对象本身 更详细的解释是什么 句柄可以是从整数索引到指向内核空间中资源的指针的任何内容 其想法是 它们提供了资源的抽象 因此您无需了解太多有关资源本身的信息即可使用它
  • 查找 WPF 窗口的句柄

    Windows 窗体有一个属性 win1 Handle 如果我记得的话 它返回主窗口句柄的句柄 有没有等效的方法来获取 WPF 窗口的句柄 我在网上找到了以下代码 IntPtr windowHandle new WindowInteropH
  • 托管 C++ ^ (句柄) --> 它是什么以及它与引用和指针有何关系

    托管 C 中对象的句柄有什么区别 such as System String str gcnew System String 和普通的 C 指针 另外它们与我们在 C 中的引用有何关系 您不是在谈论 较旧的 托管 C 而是在谈论 C CLI
  • 如何在Matlab中区分图例和轴?

    下面的堆栈溢出问题 Matlab 如何获取图形句柄中的所有轴句柄 https stackoverflow com questions 3938348 matlab how to obtain all the axes handles in
  • 无法从 GetProcessId(.. hWnd) (pInvoke) 中提取 processID

    我使用以下方法 DllImport kernel32 dll SetLastError true static extern int GetProcessId IntPtr hWnd 尝试获取正在运行的进程的 processId 我拥有的唯
  • 使用 Graphics.FromHwnd 在屏幕上绘图和清除

    我正在尝试创建一个程序 它获取光标下窗口的句柄 显示有关它的一些数据 并在整个窗口的顶部绘制一个填充矩形 具有非常低的阿尔法 我正在使用 C 和 winforms 我已经成功地做到了这一点 但问题是我的绘制方法位于BackgroundWor
  • DotNET 应用程序中的 GDI 句柄

    我的纯 DotNET 库作为非托管桌面应用程序中的插件运行 我收到了稳定的 虽然低 崩溃报告流 这些报告似乎表明 GDI 句柄存在问题 错误消息中的字体等 恢复为系统字体 各种控件的显示崩溃 不久后发生大规模崩溃 我的窗体几乎没有控件 但我

随机推荐

  • 鲁棒控制——以静制动

    当今的自动控制技术都是基于反馈的概念 反馈理论的要素包括三个部分 xff1a 测量 比较和执行 测量关心的变量 xff0c 与期望值相比较 xff0c 用这个误差纠正调节控 制系统的响应 这个理论和应用自动控制的关键是 xff0c 做出正确
  • 自学电子技术的几个“要”

    学习电子技术 xff0c 基础构筑一定要牢靠 就说读图 xff0c 不能出错 xff0c 还要速度快 xff0c 要习惯成自然 检测元器件 xff0c 要坚持理论指导实践 xff0c 如测三极管 xff0c 理解了输入特性曲线及不同工作点在
  • 巧妙理解电气基础理论

    一 电与水相联系 电是看不见 摸不着 低压 的 xff0c 要想掌握它的特性 xff0c 全靠资料上的介绍和自己的想象 xff0c 确实难于理解 水是我们非常熟悉的 xff0c 它既看得见 xff0c 也模得着 xff0c 人们每天都离不开
  • 我们身边的人工智能应用

    人工智能是在计算机科学 控制论 信息论 心理学 语言学等多种学科相互渗透的基础发展起来的一门新兴边缘学科 xff0c 主要研究用用机器 xff08 主要是计算机 xff09 来模仿和实现人类的智能行为 xff0c 经过几十年的发展 xff0
  • C++资源之不完全导引

    C 43 43 资源之不完全导引作者 xff1a 曾毅 陶文 文章来源 xff1a csdn 点击数 xff1a lt script language 61 34 javascript 34 src 61 34 Article GetHit
  • 揭开C/C++中数组形参的迷雾

    揭开C C 43 43 中数组形参的迷雾作者 xff1a 乾坤一笑 文章来源 xff1a 本站原创 点击数 xff1a lt script language 61 34 javascript 34 src 61 34 Article Get
  • 瑞芯微rk1126 编译mp4v2记录 rk1126移植 ffmpeg X264

    项目需求需要录像存储为mp4文件 并且要支持H264 H265 我们之前在海思平台上用的是mp4v2 想着直接拿过来用 从github上 下载完mp4v2之后 新建一个build文件夹 然后cd到build文件夹新建一个build sh内容
  • 郁闷

    01 面对忧郁要处之泰然 xff0c 因为悲伤是必经的常态 02 找些事情做 xff0c 转移注意力 xff0c 例如散步 下棋 骑脚踏车 阅读等 03 从记忆中寻找快乐 04 找朋友顷诉 xff0c 加以发泄 05 大哭一场 xff0c
  • 2.14 STM32 串口传输最佳处理方式 FreeRTOS+队列+DMA+IDLE (二)

    紧接着上一篇文章 如何合理处理多个串口接收大量数据 此种方法 很厉害 很NB 首先 利用DMA 可节省大量CUP资源 其次 利用IDLE空闲中断来接收位置个数的数据 最后利用串口DMA环形数据的偏移量 长度 入队 出队处理数据 保证了任务的
  • 无人机/无人车仿真软件学习与实践---序言

    之前读博的时候一直使用团队自主设计的无人车在路上做实验 xff0c 验证感知代码时则使用公开数据集和车上实时录制的bag包进行 xff0c 对仿真器的掌握程度一直存在于听说有这么一个东西的程度 毕业之后 xff0c 新加入的团队主要搞的是无
  • stm32 nucleo f746zg串口中断接受数据入门

    使用串口1 将rx和tx对接 使用串口3 通过pc 来打印信息 main中的函数为 xff1a span class token function HAL UART Receive IT span span class token punc
  • stm32 hal iwip EchoClient demo 使用

    tcp echoclient c span class token comment 64 file LwIP LwIP TCP Echo Client Src tcp echoclient c 64 author MCD Applicati
  • esp32点灯程序

    使用的pin为D23 span class token macro property span class token directive hash span span class token directive keyword inclu
  • esp32串口发送

    串口2 xff0c rx 16 和 tx 17 span class token macro property span class token directive hash span span class token directive
  • esp32串口收发echo

    span class token comment SPDX FileCopyrightText 2010 2022 Espressif Systems Shanghai CO LTD SPDX License Identifier CC0
  • esp32定时器timer 代码

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • 瑞芯微RK1126平台 用FFmpeg 将H264 H265视频流保存为MP4文件

    之前尝试ffmpeg保存MP4文件没有成功 今天周末没事 尝试了下 解决这个问题了 主要是打开文件设置encoder和 发送数据时候 pts的设置 nbsp 打开文件的地方 pHandle gt is record ready store
  • esp32 连接wifi ap热点代码

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • esp32 tcp socket客户端收发代码

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • esp32 event loop handle 代码

    span class token macro property span class token directive hash span span class token directive keyword include span spa