你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

[NUCLEO-L476RG开发] 随机数

[复制链接]
Mandelbrot_Set 提问时间:2015-11-13 15:58 /
随便玩玩


数据全放ram,add watch 不输出!.
均值什么的随便算算..
  1. union floathex
  2. {
  3.         unsigned int hexvalue;
  4.         float floatvalue;
  5. };
  6. floathex rand[20000];
  7. double   sum;
  8. double   average;
  9. double   var;
  10. double   _var;
复制代码
初始化:
  1. void HAL_RNG_MspInit(RNG_HandleTypeDef *hrng)
  2. {
  3.     __HAL_RCC_RNG_CLK_ENABLE();
  4. }
  5. __________________________________________
  6. // IN MAIN()
  7.         HAL_Init();
  8.         SystemClock_Config();
  9.        
  10.         hrng.Instance = RNG;
  11.         __HAL_RCC_RNG_CONFIG(RCC_RNGCLKSOURCE_MSI) ;
  12.         HAL_RNG_Init(&hrng);
  13.         //SET_BIT(RNG->CR,  RNG_CR_RNGEN);
  14.         state=HAL_RNG_GenerateRandomNumber(&hrng,&rand[0].hexvalue);
  15.         state=HAL_RNG_GenerateRandomNumber(&hrng,&rand[0].hexvalue);
  16.         state=HAL_RNG_GenerateRandomNumber(&hrng,&rand[0].hexvalue);
  17.         state=HAL_RNG_GenerateRandomNumber(&hrng,&rand[0].hexvalue);
复制代码
看上去似乎是可以的..
然后生成随机数(0,1)来简单看看.
虽然我学识浅薄,但品均值大概在0.5左右还是知道的...

  1. while(1)
  2.         {
  3.   int i;
  4.   for(i=0;i<20000;i++)
  5.   {
  6.     state=HAL_RNG_GenerateRandomNumber(&hrng,&rand[i].hexvalue);
  7.     rand[i].hexvalue =  (rand[i].hexvalue>>9) |  0x3f800000;
  8.     rand[i].floatvalue -= 1.0f;
  9.   }
复制代码
结果略关虚拟机后才想起没截图...)

Anyway ,
明天又周末了



收藏 1 评论5 发布时间:2015-11-13 15:58

举报

5个回答
沐紫 回答时间:2015-11-13 16:41:35
这个笔记有点凑合哦,楼主加油,相信有更好的内容
peter001 回答时间:2015-11-13 21:05:45
楼主辛苦,谢谢
lkl0305 回答时间:2015-11-13 21:47:58
学习学习
埃斯提爱慕 回答时间:2015-11-17 12:12:50
提示: 作者被禁止或删除 内容自动屏蔽
caizhiwei 回答时间:2015-11-18 13:07:55
软件也可以哦,一个函数rand()搞定~

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版