Part Number:CC2642R
你好,我使用BLE5.0的协议栈,cc2642做为central。在调试中发现,无法发现从设备。
1. 从设备发送广播地址正常。
2. central设备,扫描正常,但是扫描到的地址都是ADDRTYPE RANDOM。我的地址是ADDRTYPE_PUBLIC。
请问一下,这个是需要那个参数配置异常还是需要怎么配置?
谢谢!
2. 这种从设备广播正常,是否可以直接connect,不在扫描?
Alex Zhang:
您好,请提供一下使用的sdk以及例程
,
quan chen:
simplelink_cc13x2_26x2_sdk_3_20_00_68
,
quan chen:
multi_role.c
,
Alex Zhang:
首先,如果外围设备处于广播模式,则无法连接到外围设备。这只会发送广告。
您可以在include文件夹的gap.h文件中找到地址设备的定义。
关于您的第三点,不,您不能直接将中心连接到外围设备,因为您需要在连接之前进行扫描。
,
quan chen:
/// Address modes to initialize the local devicetypedef enum{ ADDRMODE_PUBLIC = 0x00, //!< Always Use Public Address ADDRMODE_RANDOM = 0x01, //!< Always Use Random Static Address#if defined(BLE_V42_FEATURES) && (BLE_V42_FEATURES & PRIVACY_1_2_CFG) /// Always Use Resolvable Private Address with Public Identity Address ADDRMODE_RP_WITH_PUBLIC_ID = 0x02, /// Always Use Resolvable Private Address with Random Identity Address ADDRMODE_RP_WITH_RANDOM_ID = 0x03,#endif // PRIVACY_1_2_CFG} GAP_Addr_Modes_t;
1. 我外设配置的是ADDRMODE_PUBLIC = 0x00, //!< Always Use Public Address这个模式。
#define GAP_PROFILE_PERIPHERAL 0x04 初始化配置的是这个
2. central设备是 #define GAP_PROFILE_PERIPHERAL 0x04 与#define GAP_PROFILE_CENTRAL 0x08 同时配置。
现在是作为central设备时建联,该central作为从设备的时候可以与另外的主设备建联。
仿真的时候看到,如问题提出的,扫描不到从机发过来的地址。只能够看到 ADDRMODE_RANDOM = 0x01 这个地址类型的广播包。
,
Alex Zhang:
您好,您这边可以参考project_zero项目去进行配置。
,
Alex Zhang:
GAP_DeviceInit();在这个函数中去goto对于模式的定义,一步一步去找到最后定义的值,进行修改。
,
Alex Zhang:
您也可以尝试将mode改为0x02试试
,
quan chen:
你好!
能够具体指导,具体要关注那些配置吗?
,
Alex Zhang:
注意mian.c文件中的multi_role_createTask()函数中Task_construct(&mrTask, multi_role_taskFxn, &taskParams, NULL);这个语句里multi_role_taskFxn这个函数goto过去,进行配置,基本改到最后就到GAP.h文件了。具体的可以参考API有以下函数文件说明
dev.ti.com/…/group___g_a_p.html