随机数问题
为什么调用以下两函数读随机数都不是随机的,每次数据一样的,求解。谢谢!
LL_PseudoRand( uint8 *randData, uint8 dataLen );
LL_PseudoRand( uint8 *randData, uint8 dataLen );
这两句可以放到应用层初始化里。
如果你放在LL层初始化之前,那自然是产生不了随机数。
感谢甜甜的大香瓜的回复。我是放在应用层的。如果我在LL_Rand( ((uint8 *) &passcode), sizeof( uint32 )) 加了LL_Reset();就有随机数了,但问题是一旦执行完LL_Reset();app就跟cc2541断开连接了。见如下代码。请教一下,怎搞才好。万分感谢!
static void simpleProfileChangeCB( uint8 paramID )
{
static uint8 dataCount=0;
uint8 key[16] = {1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8};
uint8 plainText[16] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
uint8 cipherText[16] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
uint8 data[20] = { 0,0x80,1,2,3,4,5,6,7,8,9};
uint8 state = 0xff;
switch( paramID )
{
case SIMPLEPROFILE_CHAR1:
SimpleProfile_GetParameter( SIMPLEPROFILE_CHAR1, &data[0] );
LL_EXT_Decrypt(key, data, plainText); //解密
uint32 passcode;
LL_Reset();
state = LL_Rand( ((uint8 *) &passcode), sizeof( uint32 ));
TI的工程师们能否解答下呀,发挥你们敬业精神吧!
随机数 相关文章: