BLE的绑定,是由谁发起的?

有以下2个问题,请您回复:

  1. ?BLE的绑定,是由谁发起的?

  2. ?外围设备解除绑定就是擦除绑定信息吗?


Central例程有下面设置:

? // Setup the GAP Bond Manager

? {

? ? uint32 passkey = DEFAULT_PASSCODE;

? ? uint8 pairMode = DEFAULT_PAIRING_MODE;

? ? uint8 mitm = DEFAULT_MITM_MODE;

? ? uint8 ioCap = DEFAULT_IO_CAPABILITIES;

? ? uint8 bonding = DEFAULT_BONDING_MODE;

? ??

? ? GAPBondMgr_SetParameter( GAPBOND_CENT_DEFAULT_PASSCODE, sizeof( uint32 ), &passkey );

? ? GAPBondMgr_SetParameter( GAPBOND_CENT_PAIRING_MODE, sizeof( uint8 ), &pairMode );

? ? GAPBondMgr_SetParameter( GAPBOND_CENT_MITM_PROTECTION, sizeof( uint8 ), &mitm );

? ? GAPBondMgr_SetParameter( GAPBOND_CENT_IO_CAPABILITIES, sizeof( uint8 ), &ioCap );

? ? GAPBondMgr_SetParameter( GAPBOND_CENT_BONDING_ENABLED, sizeof( uint8 ), &bonding );

? }



Peripheral例程有下面设置:

? // Setup the GAP Bond Manager

? {

? ? uint32 passkey = 0; // 0-->passkey "000000",1-->"000001",

? ? uint8 pairMode = GAPBOND_PAIRING_MODE_WAIT_FOR_REQ;

? ? uint8 mitm = TRUE;

? ? uint8 bonding = TRUE;

? ? uint8 ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;

? ? GAPBondMgr_SetParameter( GAPBOND_PERI_DEFAULT_PASSCODE, sizeof ( uint32 ), &passkey );

? ? GAPBondMgr_SetParameter( GAPBOND_PERI_PAIRING_MODE, sizeof ( uint8 ), &pairMode );

? ? GAPBondMgr_SetParameter( GAPBOND_PERI_MITM_PROTECTION, sizeof ( uint8 ), &mitm );

? ? GAPBondMgr_SetParameter( GAPBOND_PERI_IO_CAPABILITIES, sizeof ( uint8 ), &ioCap );

? ? GAPBondMgr_SetParameter( GAPBOND_PERI_BONDING_ENABLED, sizeof ( uint8 ), &bonding );

? }


Central发起绑定


请告之依据。

在APP上操作时,有绑定操作的执行菜单。还有其他依据吗?


具体依据请查看蓝牙协议,流程是按照标准协议进行的:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIxMjMxNDEz,size_16,color_FFFFFF,t_70

绑定后相应的MAC地址信息会存放在DataFlash的最后区域,通过ISP工具可以进boot查看DataFlash的最后区域信息。


非常感谢这么细致专业的回复。


只有登录才能回复,可以选择微信账号登录