This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
xiaolei cui,
uint8 pairMode = GAPBOND_PAIRING_MODE_INITIATE;
uint8 ioCap = GAPBOND_IO_CAP_KEYBOARD_ONLY;
改成这样试试看。
HI Y:
谢谢您的回复。
我按照您说的修改了pairMode 和 ioCap的值,但是结果和原来相同。修改后的代码如下。
{
uint32 passkey = 147258; // passkey "000000"
uint8 pairMode = GAPBOND_PAIRING_MODE_INITIATE;
uint8 mitm = TRUE;
uint8 ioCap = GAPBOND_IO_CAP_KEYBOARD_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 );
}
希望能得到您的回复。
谢谢。
xiaolei cui
你把
// Bond Manager Callbacks
static const gapBondCBs_t hidDevBondCB =
{
hidDevPasscodeCB,
hidDevPairStateCB
};
改成
// Bond Manager Callbacks
static const gapBondCBs_t hidDevBondCB =
{
NULL,
hidDevPairStateCB
};
试试?
xiaolei cui,
还有一点忘记告诉你了,不好意思,前面没看仔细,除了把那个函数改成NULL,你还需要把ioCap = GAPBOND_IO_CAP_KEYBOARD_ONLY; 改回你原来的GAPBOND_IO_CAP_DISPLAY_ONLY。
这样的原因是因为通过这个,手机就知道你只能显示密码,这个显示的密码就是你预设的6位数(TI默认的HIDEmuKbd工程没加入LCD,实际上并不会显示密码),只要你手机上输入你预设的6位数密码,就能配对成功了。
hi Y:
谢谢您的回复。
结果和上面帖子显示的一样,没有要求输入密码,而是自动生成的密码。
我的代码如下,两种代码的结构都不行:
// Bond Manager Callbacks
static const gapBondCBs_t hidDevBondCB =
{
NULL,
hidDevPairStateCB
};
{
uint32 passkey = 123456; // passkey "000000"
uint8 pairMode = GAPBOND_PAIRING_MODE_INITIATE;
uint8 mitm = TRUE;
uint8 ioCap = 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 );
}
2.
// Bond Manager Callbacks
static const gapBondCBs_t hidDevBondCB =
{
NULL,
hidDevPairStateCB
};
{
uint32 passkey = 123456; // passkey "000000"
uint8 pairMode =GAPBOND_PAIRING_MODE_WAIT_FOR_REQ ;
uint8 mitm = TRUE;
uint8 ioCap = 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 );
}
再次感谢您的答复,谢谢。
最后是如何解决的,我也遇到同样的问题,IOS Windows都是可以弹出配对框,但是Android会弹出密码让设备端输入,我IOCapability设置成 display only也并没有什么用,一样的效果。