TI中文支持网
TI专业的中文技术问题搜集分享网站

请教TI工程师,CC2640配对回调函数异常

CC2640需要配对绑定设备,所以在simple_peripheral.c里面添加了两个回调函数,即ProcessPasscodeCB和ProcessPairStateCB。

在绑定了一个设备以后,后面的设备就不再给绑定,所以在ProcessPairStateCB里,GAPBOND_PAIRING_STATE_STARTED状态,读取绑定数量,如果绑定数量不为0,则调用函数断开连接。

读取绑定数量的操作为GAPBondMgr_GetParameter(GAPBOND_BOND_COUNT,&count);

但是只要在ProcessPairStateCB里调用了GAPBondMgr_GetParameter这个函数,不管是读取绑定数量还是别的操作,程序就死机,我在两个版本的SDK都试过,都出现同样的结果,两个版本的SDK分别为:

ble_sdk_2_02_01_18

ble_cc26xx_2_01_00_44423

同样类似问题,之前我也发过帖,但是一直没有解决。

http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/142329.aspx

目前用2640开发过几个项目,感觉跟2540相比,2640的SDK用得不是很顺心,各种麻烦问题不断。因为英文不好,稍微详细一点的描述,都发不了,所以麻烦TI工程师帮忙重视一下这些问题,看看能否找到解决的办法,十分感谢!!

Sheldon He:

请看看这些文档能否帮助到你,我暂时没有时间来亲自测试,如果还有问题我会帮你把该问题转到英文论坛上,请你在提供一些细节。

软件开发指南:http://www.tuner168.com/uploads/soft/161222/3-161222111234.pdf 

API使用手册:http://dev.ti.com/tirex/content/simplelink_cc13x0_sdk_1_50_00_08/docs/blestack/blestack-api/group__GAPROLES__BONDMGR__API.html#ga2c3a3e432a6d3e1abb1900c37ffda8df

user4184198:

回复 Sheldon He:

你好,

你提供的文件,是函数的使用说明,应该解决不了这些问题。

我认为出现这些问题的主要原因,还是跟icall这个中间角色有关,在使用icall的时候,需要执行分配内存、发送消息这些动作。是否在回调函数里执行这些动作就会出问题呢?

以下是我关于配对、绑定的回调函数的注册、使用代码:

1)、

// GAP Bond Manager Callbacksstatic gapBondCBs_t simpleBLEPeripheral_BondMgrCBs ={ ProcessPasscodeCB, // Passcode callback (not used by application) ProcessPairStateCB // Pairing / Bonding state Callback (not used by application)};

2)、

VOID GAPBondMgr_Register(&simpleBLEPeripheral_BondMgrCBs);

3、

static void ProcessPairStateCB( uint16 connHandle, uint8 state, uint8 status ){ switch(state) { case GAPBOND_PAIRING_STATE_STARTED: {

uint8_t count; GAPBondMgr_GetParameter(GAPBOND_BOND_COUNT,&count);//一执行到这里,程序就会死掉

}

break; case GAPBOND_PAIRING_STATE_COMPLETE: break; case GAPBOND_PAIRING_STATE_BONDED: break;

case GAPBOND_PAIRING_STATE_BOND_SAVED: break; case GAPBOND_PAIRING_STATE_CAR_READ: break; default: break; }

}

Sheldon He:

回复 user4184198:

你好,请检查那个PDF中的5.4.3 Using GAPBondMgr,看看每一步是不是都做了,如果还是不行我就帮你转到E2E论坛来请教专家。我暂时没有做详细的研究,如果方便请上次你的工程给我测试。

Susan Yang:

您也可以自行到E2E:  https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/ 发帖询问

赞(0)
未经允许不得转载:TI中文支持网 » 请教TI工程师,CC2640配对回调函数异常
分享到: 更多 (0)