标签:esp ESP32 循环 处理程序 事件 组件 event
又是新的一天,怎么说,怎么说,哈哈哈哈。加油吧。
事件循环库
事件循环库允许组件去定义事件,当事件发生时,其他组件可以注册处理程序。这允许低耦合的组件在不涉及应用程序的情况下将所需的行为附加到其他组件的状态更改上。例如一个高等级的处理库可以直接订阅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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。