随机数的产生(整理)

来源为论坛,侵删
1)使用ADC噪声
取一个ADC空置的通道,连续读取n次ADC值,每次取最低位,则可以得到一个n位的随机数。
若ADC的精度非常高,则反复读取,直到数据发生变化,取读取次数为随机数。

2)取一个数,例如341182,反复(*17 + 1),可以得到一个伪随机数。

3)用一个IO口控制一个电解电容充放电,另一个IO口设为定时器的输入捕获(接到电解电容正极),频率越高越好,中断后读出定时器计数值作为随机数。

【随机数的产生(整理)】4)用两个定时器,一快一慢, 用慢的去读快的。

    推荐阅读