LL_RAND这个函数为什么每次都是那个固定值?
1.用LL_RAND产生一个PASSWORD,可是每次都是那个值,这是为什么啊。。。
2.//uint8 pairMode = GAPBOND_PAIRING_MODE_WAIT_FOR_REQ;
uint8 pairMode = GAPBOND_PAIRING_MODE_INITIATE;
作为从机,这两个配对模式到底什么区别呢?为什么我用BTOOL测试发现,无论哪个,BTOOL都要先发送一个PAIRING REQUEST,
然后才能发送PASSKEY,那这两种模式有什么区别呢?
HAO,
1. 每次都是什么样的值?
2. 作为从机,第一个配置是等着master来发起配对请求。 第二个是主动发起配对请求。是的,如果你用BTOOL发起配对请求的话,作为master,BTOOL必会发送一个pairing request。如果你的slave用的是第二个配置,那么slave会请求master发送pairing request。所以不管怎么样,你都能看到BTOOL发送pairing request.
DEAR YAN,
1.我的代码是这样写的,
LL_Rand( ((uint8 *) &passcode), sizeof( uint32 ));
passcode %= 1000000;
//在lcd上显示当前的密码,这样手机端,根据此密码连接。
// Display passcode to user
if ( uiOutputs != 0 )
{
HalLcdWriteString( "Passcode:", HAL_LCD_LINE_1 );
HalLcdWriteString( (char *) _ltoa(passcode, str, 10), HAL_LCD_LINE_2 );
}
然后发现无论我断电重启还是怎么样,都是546555,它不应该是个随机值吗?
2.奥,我大致明白了,也就是说第二种只是说从机会向主机发送一个“你要向我发配对请求呀”的请求是吗?
至于主机会不会发配对请求取决于主机相应的代码,
我之前理解成,从机处于第二种配置的话,直接由从机来发送配对请求,主机直接可以开始输密码了,
用BTOOL测试发现哪种情况都要发送PAIRING REQUEST,我以为我的代码哪个地方出问题了呢
TI的工程师可以帮忙解答下楼上的问题吗?