野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8122|回复: 2

CC2530初始化随机数发生器

[复制链接]
发表于 2015-12-25 17:28:10 | 显示全部楼层 |阅读模式
void Init_RandomGenerator(void)
{  
   /*当需要一个真正的随机值,LFSR 应通过写入RNDL 产生种子,
     随机值来自在RF 接收路径的IF_ADC。要
     使用这种产生种子的方法,无线电必须首先上电*/
    RFRND = 0x04;

   // 等待上电完毕
    while( RFRND & 0x10 );

   //无线电应处于无限TX 状态,以避免RX 状态可能的同步检测
    RFST = 0xE2;
    Delayms(1);

    /*RCTRL[1:0]---控制16 位随机数发生器
      [00:] 正常运行。(13X 型展开)*/
    ADCCON1 &= ~0x0C;   

    RNDH = ADCTEST2;

    /*更新LFSR 的一种方式是设置ADCCON1.RCTRL 为01。
      [01:] LFSR 的时钟一次(没有展开).*/
    ADCCON1 |= 0x04;
}
请问初始化函数中:
1.RFRND = 0x04;为什么这里RFRN赋值为0x40?
2.等待上电完毕
    while( RFRND & 0x10 );为什么可用该语句进行判断?
3.  //无线电应处于无限TX 状态,以避免RX 状态可能的同步检测
    RFST = 0xE2;为什么RFST赋值为 0xE2?
4.RNDH = ADCTEST2;ADCTEST2是什么意思?

回复

使用道具 举报

发表于 2015-12-25 19:47:05 | 显示全部楼层
不会,帮顶
回复

使用道具 举报

 楼主| 发表于 2015-12-30 15:53:11 | 显示全部楼层
作为初学者,理解原理很重要,也是一个漫长的过程。这个说的比较明白。http://www.360doc.com/content/15/0212/21/21287212_448223381.shtml
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-20 02:35 , Processed in 0.032220 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表