完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
参照blufi的官方样例,我使用如下代码进行蓝牙和blufi的初始化以及检查连接结果~
现在该部分代码正常运行,可以正常打开蓝牙进行blufi的wifi配对流程 但我发现该部分初始化操作仅可以进行一次,我如果再次调用该部分代码则会提示已经进行过初始化 我现在想要实现的目标是 1. 触发blufi配对的操作可以多次进行(我保证第一次配对结束后再调用第二次,希望第二次配对依然可以正常初始化并执行blufi的回调函数) 2. 配对完成后能完全关闭蓝牙 我想要知道: 1. 是不是下列代码中有部分初始化函数是启动后只能进行一次的(查阅文档确实发现一部分函数仅可运行一次 2. 启动后仅可进行一次的操作是否会消耗较多资源/电力 3. 完全关闭蓝牙以及重新打开蓝牙并进入blufi配对状态分别需要哪些函数 我用到的函数包括 esp_bt_controller_mem_release esp_bt_controller_init esp_bt_controller_enable esp_bluedroid_init esp_bluedroid_enable esp_ble_gap_register_callback esp_blufi_register_callbacks esp_blufi_profile_init esp_blufi_profile_deinit 是否还需要其他函数才能完成我的目标 Code: Select all ESP_ERROR_CHECK(esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT)); esp_bt_controller_config_t bt_cfg = BT_CONTROLLER_INIT_CONFIG_DEFAULT(); ret = esp_bt_controller_init(&bt_cfg); if (ret) { BLUFI_ERROR("%s 初始化蓝牙控制器失败: %sn", __func__, esp_err_to_name(ret)); return false; } ret = esp_bt_controller_enable(ESP_BT_MODE_BLE); if (ret) { BLUFI_ERROR("%s 启动蓝牙控制器失败: %sn", __func__, esp_err_to_name(ret)); return false; } ret = esp_bluedroid_init(); if (ret) { BLUFI_ERROR("%s 初始化 bluedroid 失败: %sn", __func__, esp_err_to_name(ret)); return false; } ret = esp_bluedroid_enable(); if (ret) { BLUFI_ERROR("%s 启动 bluedroid 失败: %sn", __func__, esp_err_to_name(ret)); return false; } BLUFI_INFO("BD 地址: " ESP_BD_ADDR_STR "n", ESP_BD_ADDR_HEX(esp_bt_dev_get_address())); BLUFI_INFO("BLUFI 版本 %04xn", esp_blufi_get_version()); ret = esp_ble_gap_register_callback(example_gap_event_handler); if (ret) { BLUFI_ERROR("%s gap 注册失败, error code = %xn", __func__, ret); return false; } ret = esp_blufi_register_callbacks(&example_callbacks); if (ret) { BLUFI_ERROR("%s blufi 注册失败, error code = %xn", __func__, ret); return false; } esp_blufi_profile_init(); EventBits_t bits = xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT, pdFALSE, pdFALSE, portMAX_DELAY); if (bits & CONNECTED_BIT) { ESP_LOGI("BLUFI", "BluFi连接到Wi-Fi"); return true; } else { ESP_LOGE("BLUFI", "未知Wi-Fi连接结果"); } esp_blufi_profile_deinit(); |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1140 浏览 1 评论
576浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
461浏览 5评论
462浏览 4评论
437浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 15:54 , Processed in 0.751450 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号