请问TI的工程师们,我在Multi_role工程中添加了,配对绑定,当我工作在从机的时候我想让CC2640去发出配对请求,然后手机输入密码,但是我发现有的时候手机弹不出来输入密码的界面,然后我点配对就直接显示配对失败,而且弹出界面输入正确密码后,进不去状态回调函数,请问这是什么问题
Viki Shi:
“有的时候手机弹不出来输入密码的界面”是同一款手机还是不同的手机?操作系统及版本问题排查过吗?
user4941551:
回复 Viki Shi:
是同一款手机,小米6,安卓8.0的,但我测试IOS有的时候也会出现的
user4941551:
回复 Viki Shi:
我现在问题解决了,我是将那个 ble_user_config.h里面的PDU size大小从69改成27配对就没有问题了,但是我不明白为啥会出现这个影响,我在TI 原厂的Multi_role(什么都没改过的)工程更改配对为从机发起就是正常,但是我将我的串口指令功能添加进去就不行了,必须要改成27才能正常使用。
Alvin Chen:
回复 user4941551:
PDU Size 不能更改,只能通过选择不同的版本去更换。
//source\ti\ble5stack\icall\inc\ble_user_config.hMAX_PDU_SIZE Line 214
// Maximum size in bytes of the BLE HCI PDU. Valid range: 27 to 255
// The maximum ATT_MTU is MAX_PDU_SIZE – 4.
#ifndef MAX_PDU_SIZE
#if defined(BLE_V42_FEATURES) && (BLE_V42_FEATURES & SECURE_CONNS_CFG)#define MAX_PDU_SIZE255
#else#define MAX_PDU_SIZE27
#endif //(BLE_V42_FEATURES & SECURE_CONNS_CFG)
#endif
user4941551:
回复 Alvin Chen:
请问为啥这个PDU会影响配对绑定的,但是TI原有工程则不会影响
Alvin Chen:
回复 user4941551:
因为没有试过,所以不好说。大致判断,你这样该了PDU应该是影响了packet完整性。TI原来的例程是符合BlueTooth的标准的。
如果你想了解这个PDU可以去看一下corev5。
user4941551:
回复 Alvin Chen:
ok,那请问我在哪利可以取消那个宏定义来更改为27,我没找到那个宏定义
Alvin Chen:
回复 user4941551:
这个定义是在ble_user_config.h 文件里面
user4941551:
回复 Alvin Chen:
你好,我找到了那个定义但是我发现那个宏定义已经是定义过的了,我不知道在哪取消这个宏定义,我在百度上看说是使用安全连接那个PDU必须大于或等于69,然后堆大小必须要大禹等于3690,是不是堆大小不够用,请问在哪里更改
Alvin Chen:
回复 Alvin Chen:
我刚才去看了一下眼小米6是支持Bluetooth5的你可以在你的初始化中加入下面的代码试一下,其他先不要更改。//Set default values for Data Length Extension//Extended Data Length Feature is already enabled by default//in build_config.opt in stack project.{//Set initial values to maximum, RX is set to max. by default(251 octets, 2120us)#define APP_SUGGESTED_PDU_SIZE 251 //default is 27 octets(TX)#define APP_SUGGESTED_TX_TIME 2120 //default is 328us(TX)
//This API is documented in hci.h//See the LE Data Length Extension section in the BLE5-Stack User's Guide for information on using this command://software-dl.ti.com/…/HCI_LE_WriteSuggestedDefaultDataLenCmd(APP_SUGGESTED_PDU_SIZE, APP_SUGGESTED_TX_TIME);}