找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

查看: 4|回复: 0

[Nordic] Nordic 芯片扫描不到完整蓝牙设备名称,原因及解决方法?​

[复制链接]

暂无签到数据

发表于 1 小时前 | 显示全部楼层 |阅读模式

马上注册,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册  

×
开发蓝牙网关时,常遇到 nRF52 扫描第三方设备仅显示短名称(如 “Dev-12”),无法获取完整型号(如 “Dev-12345678”),核心因广播包机制与扫描模式配置问题:​
广播包拆分机制:蓝牙广播包最大 31 字节,长名称会拆分为广播包(短名称)+ 扫描回应包(剩余部分),而 nRF52 默认被动扫描仅接收广播包。​
启用主动扫描并拼接名称:需在代码中开启主动扫描,配置示例:​

ble_gap_scan_params_t scan_params = {​
    .active = 1, // 1=主动扫描(请求回应包)​
    .interval = 0x0040, // 扫描间隔50ms​
    .window = 0x0040, // 扫描窗口50ms​
    .timeout = 0, // 无限扫描​
};​
sd_ble_gap_scan_start(&scan_params, &scan_buffer);​

同时在BLE_GAP_EVT_ADV_REPORT事件中拼接广播包与回应包的名称字段,需注意缓冲区大小≥32 字节,避免截断。​
3. 特殊场景处理:iPhone 开启隐私模式时不响应 Scan Response,需建立连接后读取 GATT 特征(UUID 0x2A00)获取完整名称;Android 设备需开启 “蓝牙可见性”,否则回应包会被屏蔽。​
调试时可用 nRF Connect App 查看广播包结构,对比本地解析结果,若名称仍不完整,需检查parse_ad_data函数是否漏解析BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME字段。

楼主热帖
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2025-11-28 16:59 , Processed in 0.079232 second(s), 9 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表