IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 调试ESP32蓝牙 -> 正文阅读

[游戏开发]调试ESP32蓝牙

1--一个从机都没有 扫描时间到了 就停止了

        case ESP_GAP_SEARCH_INQ_CMPL_EVT:
            ESP_LOGI(HCI_TAG, "X ESP_GAP_SEARCH_INQ_CMPL_EVT 程序会截至到这里 表示扫描的时间到了 一个满足条件的从机都没有扫到");
            esp_ble_gap_start_scanning(10);//我再次开始扫描 这里是10S 使用串口工具看 就是实打实的10S 如果还是没有满足条件的从机 那就是10S后再次到这里过来 循环 这样维持 永不停止的扫描
            break;
        default:
            ESP_LOGI(HCI_TAG, "YYYYYYYYYYYY????????YYYYYYY%d",event);
            break;
        }
        break;

源码是30S 它是独立的

这是一个循环 有没有别的 永不停止的烧苗呢?

ESP32开发笔记 如何实现 demo gatt client永久扫描_q911997的博客-CSDN博客_esp32 gatt_client

答案是可以的?

当 duration 值为 0 时,将会永久扫描?而不不产?生超时。

好像也不是很好 有时候需要断开扫描的

------------------

2--MTU

    case ESP_GATTC_CONNECT_EVT:{
        ESP_LOGI(GATTC_TAG, "6 ESP_GATTC_CONNECT_EVT conn_id %d, if %d", p_data->connect.conn_id, gattc_if);
        gl_profile_tab[PROFILE_A_APP_ID].conn_id = p_data->connect.conn_id;
        memcpy(gl_profile_tab[PROFILE_A_APP_ID].remote_bda, p_data->connect.remote_bda, sizeof(esp_bd_addr_t));
        ESP_LOGI(HCI_TAG, "6 准备连接这个MAC的从机 REMOTE BDA:");
        esp_log_buffer_hex(GATTC_TAG, gl_profile_tab[PROFILE_A_APP_ID].remote_bda, sizeof(esp_bd_addr_t));
        //esp_err_t mtu_ret = esp_ble_gattc_send_mtu_req (gattc_if, p_data->connect.conn_id);
        //if (mtu_ret){
        //    ESP_LOGE(GATTC_TAG, "config MTU error, error code = %x", mtu_ret);
        //}
        //ESP_LOGI(HCI_TAG, "6 <KK> 设置MTU");
       /*24日--测试扫描150次 成功100次 失败50次 所以暂时不设置这个试试  优化 1*/
       /*25日--测试如果开启MTU的测试 那么主机收到的消息是每个142 如果不放开的话 不执行的话 那就每包20个*/
        break;

如果没有上面的mtu设置 那么

每次收到从机是20

放开代码 设置MTU那就和树莓派一样 那么树莓派的设置MYU在乃????

?

33333333

排在前面的是
设置扫描参数?
? ? case ESP_GATTC_REG_EVT:
? ? ? ? esp_ble_gap_set_scan_params(&ble_scan_params);
随后火车轰轰轰启动了


优化建议
https://blog.csdn.net/qq_36347513/article/details/118103231?spm=1001.2014.3001.5506
static esp_ble_scan_params_t ble_scan_params = {
? ? .scan_type ? ? ? ? ? ? ?= BLE_SCAN_TYPE_PASSIVE,
? ? .own_addr_type ? ? ? ? ?= BLE_ADDR_TYPE_PUBLIC,
? ? .scan_filter_policy ? ? = BLE_SCAN_FILTER_ALLOW_ALL,
? ? .scan_interval ? ? ? ? ?= 0x30,
? ? .scan_window ? ? ? ? ? ?= 0x20,
? ? .scan_duplicate ? ? ? ? = BLE_SCAN_DUPLICATE_ENABLE
};

参数的意义

BLE_SCAN_TYPE_ACTIVE---主动扫描

BLE_SCAN_TYPE_PASSIVE--被动扫描

主动扫描就可以可以拿到扫描应答包
而被动扫描就没有
看图

实际测试 因为我们dialog的代码是名字放在扫描应答包
如果才有主动扫描 就可以正常扫到 连接
如果用被动扫描 就程序走不下去

扫描策略--目前没有使用

时间 看图


2---参数
https://blog.csdn.net/qq_40537092/article/details/119564866?spm=1001.2014.3001.5506
typedef struct {
? ? esp_ble_scan_type_t ? ? scan_type; ? ? ? ? ? ? ?/*!< 扫描类型 */
? ? esp_ble_addr_type_t ? ? own_addr_type; ? ? ? ? ?/*!< 主人地址类型 */
? ? esp_ble_scan_filter_t ? scan_filter_policy; ? ? /*!< 扫描过滤政策 */
? ? uint16_t ? ? ? ? ? ? ? ?scan_interval; ? ? ? ? ?/*!< 扫描间隔。这被定义为从控制器开始其最后一次 LE 扫描到开始后续 LE 扫描的时间间隔*/
? ? //范围:0x0004 到 0x4000?
? ? //默认值:0x0010 (10 ms)?
? ? //时间 = N * 0.625 毫秒
? ? //时间范围:2.5 毫秒到 10.24 秒
? ? uint16_t ? ? ? ? ? ? ? ?scan_window; ? ? ? ? ? ?/*!</* !< 扫描窗口。LE 扫描的持续时间。LE_Scan_Window 应小于或等于 LE_Scan_Interval */?
? ? //范围:0x0004 到 0x4000 //默认值:0x0010(10 毫秒)
? ? //时间 = N * 0.625 毫秒
? ? //时间范围:2.5 毫秒到 10240 毫秒
? ? esp_ble_scan_duplicate_t ?scan_duplicate; ? ? ? /*!< Scan_Duplicates参数控制链路层是否应该被过滤复制的广告报告(BLE_SCAN_DUPLICATE_ENABLE)给主机,或者链路层是否应该生成收到的每个包的广告报告 */
} esp_ble_scan_params_t;

https://blog.csdn.net/qq_36347513/article/details/118103231?spm=1001.2014.3001.5506

1---https://mp.weixin.qq.com/s/J1MZGaGqlTXR9aeaUFuBRg 丢弃重复的

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:37:15  更:2022-04-27 11:38:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/17 1:01:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码