其他分享
首页 > 其他分享> > ESP32 事件循环

ESP32 事件循环

作者:互联网

又是新的一天,怎么说,怎么说,哈哈哈哈。加油吧。

事件循环库

事件循环库允许组件去定义事件,当事件发生时,其他组件可以注册处理程序。这允许低耦合的组件在不涉及应用程序的情况下将所需的行为附加到其他组件的状态更改上。例如一个高等级的处理库可以直接订阅WIFI子系统产生的事件,并对这些事件采取行动。

通过序列化和推迟代码执行到另一个环境,这也简化了事件处理。

事件库

这个库的用户关心2个对象:事件和循环事件。

事件是值得注意的事件。对于WIFI,成功连接到接入点是一个事件。事件被引用,通过2部分的标识符。事件循环是事件源发布事件和事件处理函数处理事件的工具。

使用这个库的大致流程如下:

当一个事件被发布到一个循环,用户定义的函数应该被执行。这个函数被称为事件处理。它应该有和esp_event_handler_t一样的标识。

一个循环事件使用esp_event_loop_create()被创建,它输出esp_event_loop_handle_t循环类型的句柄。使用API创建的循环事件被称为用户循环事件。然而一个被称为默认循环事件是一种特殊的循环事件

组件使用esp_event_handler_register_with()将事件处理程序注册到循环中。处理程序可以在多个循环中注册。

事件源使用esp_event_post_to()将事件发送到循环。

组件想要删除它们的处理程序,可以使用esp_event_handler_unregister_with()从循环中注销

不再需要的事件循环可以使用esp_event_loop_delete()删除。

 

标签:esp,ESP32,循环,处理程序,事件,组件,event
来源: https://www.cnblogs.com/shengxiaose/p/16426465.html