查看: 112|回复: 6
收起左侧

[技术问答] NUC123随机数问题

[复制链接]
     

5

主题

14

帖子

42

积分

实习生

 楼主| 发表于 2017-9-14 11:20 | 显示全部楼层 |返回版面|阅读模式
需要产生6个随机数  ,但是不能用时间做种(标准库不能用?),有什么方法能解决呢

46

主题

1631

帖子

4876

积分

中级工程师

发表于 2017-9-14 11:39 | 显示全部楼层 |返回版面
标准库的rand函数没法用吗

46

主题

1631

帖子

4876

积分

中级工程师

发表于 2017-9-14 11:40 | 显示全部楼层 |返回版面
楼主可以试试看调用这个函数能否使用。

46

主题

1631

帖子

4876

积分

中级工程师

发表于 2017-9-14 11:40 | 显示全部楼层 |返回版面
如果不行,可以用指针读取几个不同的位置的数据。

46

主题

1631

帖子

4876

积分

中级工程师

发表于 2017-9-14 11:42 | 显示全部楼层 |返回版面
首先,要明确一点:一个独立的单片机系统,如果不引入一个随机信号,永远不能实现随机的效果。这里的随机信号可以是用户的交互、时间、采集的外部数据等等,我们常用伪随机数列+随机数种子的方式实现随机的效果,而这些随机信号就是用来做随机数种子。

46

主题

1631

帖子

4876

积分

中级工程师

发表于 2017-9-14 11:43 | 显示全部楼层 |返回版面
单片机生成随机数的几种常用随机信号如下:

1. 用一路AD采集温度或电源噪声,取后几位作为随机信号;

2. 将用户的交互信号时间作为随机信号;

3. 利用时钟芯片或RTC获取当前时间再经处理作为随机信号;

4. 自己搭一个硬件电路用来产生随机信号,如利用单片机的内置时钟设为1M,外接一个用温度敏感电阻搭建一个特征频率10M的RC振荡电路,用慢时钟去采集快时钟,然后经过简单处理,就可以得到一个真正的随机数了
     

5

主题

14

帖子

42

积分

实习生

 楼主| 发表于 2017-9-14 15:15 | 显示全部楼层 |返回版面
玛尼玛尼哄 发表于 2017-9-14 11:43
单片机生成随机数的几种常用随机信号如下:

1. 用一路AD采集温度或电源噪声,取后几位作为随机信号;

也考虑过AD采样做种,不过以前没用过,寻思看看有没有简单点的方法
您需要登录后才可以回帖 登录 | 注册 手机登录

本版积分规则

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