打印
[ZLG-MCU]

单片机如何生成一个随机数??

[复制链接]
1553|3
手机看帖
扫描二维码
随时随地手机跟帖
沙发
flead| | 2008-6-27 08:09 | 只看该作者

如果可以读它的毫秒或者MS级别的计数器的话

如果可以读它的毫秒或者MS级别的计数器的话,你直接读出来这数字 X
然后X&0xff;
例如在USOS里面,可以可以读到操作系统的“心跳”(用函数 OSTimeGet()),
你用N=OSTimeGet()&0xff;就是一个随机数了。

使用特权

评论回复
板凳
su_mj000| | 2008-6-28 05:42 | 只看该作者

3楼的概念显然是错误的。

OSTimeGet()的读数是个定时周期数值,毫四轴飞行器可言。

一般简单的(伪)随机数产生方法是:

X[n] = (X[n-1] * U + V) mode W;

这里的U、V、W是常数,其中W一般为256或65536等数值。X[0]的选取就是种子。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

144

主题

376

帖子

0

粉丝