CC2541配对成功但不执行配对动作问题
我在simpleBLEPeripheral工程中添加了配对与绑定的代码,但是现实却是只执行的配对的动作,但是并不执行的绑定的动作。我的配置如下:
SimpleBLEPeripheral_Init函数中
// Setup the GAP Bond Manager
{
uint32 passkey = 0; // passkey "000000"
uint8 pairMode = GAPBOND_PAIRING_MODE_INITIATE;//GAPBOND_PAIRING_MODE_WAIT_FOR_REQ;
uint8 mitm = TRUE;
uint8 ioCap = GAPBOND_IO_CAP_NO_INPUT_NO_OUTPUT;//GAPBOND_IO_CAP_DISPLAY_ONLY;
uint8 bonding = TRUE;
GAPBondMgr_SetParameter( GAPBOND_DEFAULT_PASSCODE, sizeof ( uint32 ), &passkey );
GAPBondMgr_SetParameter( GAPBOND_PAIRING_MODE, sizeof ( uint8 ), &pairMode );
GAPBondMgr_SetParameter( GAPBOND_MITM_PROTECTION, sizeof ( uint8 ), &mitm );
GAPBondMgr_SetParameter( GAPBOND_IO_CAPABILITIES, sizeof ( uint8 ), &ioCap );
GAPBondMgr_SetParameter( GAPBOND_BONDING_ENABLED, sizeof ( uint8 ), &bonding );
}
// Initialize GATT Client
GATT_InitClient();
// Register to receive incoming ATT Indications/Notifications
GATT_RegisterForInd( simpleBLEPeripheral_TaskID );
simpleBLEPeripheral_BondMgrCBs函数
passcodeCallback,
pairStateCallback
pairStateCallback函数中能够跳进state == GAPBOND_PAIRING_STATE_COMPLETE的if语句提示配对成功,
但是配对成功后并不会跳进 state == GAPBOND_PAIRING_STATE_BONDED的if语句。
就相当于配对完成后根本就没有执行配对动作。不知道错在哪里。请指教。
以解决,发现其实2541第一次为配对,配对后都是以绑定的形式连接了