zoukankan      html  css  js  c++  java
  • esp_err_t esp_event_loop_init(system_event_cb_t cb, void *ctx);

    esp_err_t esp_event_loop_init(system_event_cb_t cb, void *ctx)
    {
    if (s_event_init_flag) {
    return ESP_FAIL;
    }
    s_event_handler_cb = cb;
    s_event_ctx = ctx;
    s_event_queue = xQueueCreate(CONFIG_SYSTEM_EVENT_QUEUE_SIZE, sizeof(system_event_t));

    xTaskCreatePinnedToCore(esp_event_loop_task, "eventTask",
    ESP_TASKD_EVENT_STACK, NULL, ESP_TASKD_EVENT_PRIO, NULL, 0);

    s_event_init_flag = true;
    return ESP_OK;
    }

    system_event_cb_t cb 当wifi系统发生状态改变时回调函数 cb

    void *ctx 传给回调函数的参数

    typedef enum {
    SYSTEM_EVENT_WIFI_READY = 0, /**< ESP32 WiFi 准备就绪*/
    SYSTEM_EVENT_SCAN_DONE, /**< ESP32 完成扫描 AP */
    SYSTEM_EVENT_STA_START, /**< ESP32 sta 启动 */
    SYSTEM_EVENT_STA_STOP, /**< ESP32 sta 停止 */
    SYSTEM_EVENT_STA_CONNECTED, /**< ESP32 sta 连接到 AP */
    SYSTEM_EVENT_STA_DISCONNECTED, /**< ESP32 sta 从 AP 断开连接 */
    SYSTEM_EVENT_STA_AUTHMODE_CHANGE, /**< ESP32 sta 所连接的 AP 的授权模式改变了 */
    SYSTEM_EVENT_STA_GOT_IP, /**< ESP32 sta 从 AP 获取到 IP 地址 */
    SYSTEM_EVENT_STA_WPS_ER_SUCCESS, /**< ESP32 sta wps succeeds in enrollee mode */
    SYSTEM_EVENT_STA_WPS_ER_FAILED, /**< ESP32 sta wps fails in enrollee mode */
    SYSTEM_EVENT_STA_WPS_ER_TIMEOUT, /**< ESP32 sta wps timeout in enrollee mode */
    SYSTEM_EVENT_STA_WPS_ER_PIN, /**< ESP32 sta wps pin code in enrollee mode */
    SYSTEM_EVENT_AP_START, /**< ESP32 soft-AP 启动*/
    SYSTEM_EVENT_AP_STOP, /**< ESP32 soft-AP 停止*/
    SYSTEM_EVENT_AP_STACONNECTED, /**< 有 sta 连接到 ESP32 soft-AP */
    SYSTEM_EVENT_AP_STADISCONNECTED, /**< 有 sta 从 ESP32 soft-AP 断开连接 */
    SYSTEM_EVENT_AP_PROBEREQRECVED, /**< soft-AP 接口接收到探测请求报文*/
    SYSTEM_EVENT_AP_STA_GOT_IP6, /**< ESP32 sta/ap 接口获取到 IPv6 地址 */
    SYSTEM_EVENT_ETH_START, /**< ESP32 ethernet start */
    SYSTEM_EVENT_ETH_STOP, /**< ESP32 ethernet stop */
    SYSTEM_EVENT_ETH_CONNECTED, /**< ESP32 ethernet phy link up */
    SYSTEM_EVENT_ETH_DISCONNECTED, /**< ESP32 ethernet phy link down */
    SYSTEM_EVENT_ETH_GOT_IP, /**< ESP32 ethernet got IP from connected AP */
    SYSTEM_EVENT_MAX
    } system_event_id_t;

  • 相关阅读:
    信号signal的监听与处理
    oracle 12cR1&12cR2核心高实用性新特性
    Tomcat 7服务器线程模型
    抓取awr、语句级awr、ashrpt
    从percona server 5.7换到mariadb 10.2
    关于typeid和typeof
    mysql查询INFORMATION_SCHEMA表很慢的性能优化
    使用ccache大幅度加速gcc编译速度至少1倍以上(不需要修改任何编译选项)
    c++ linux下输出中文
    visual studio 2015下使用gcc调试linux c++开发环境搭建完整详解
  • 原文地址:https://www.cnblogs.com/whigym/p/9132284.html
Copyright © 2011-2022 走看看