Pretty FAR!
It's a REPEATING sequence of 65535 numbers.
If you start with the same "Seed" each time ...
You will get the exact same numbers every time you run your program.
If you start with a different seed, all that does it put you somewhere in the middle of that same repeating sequence.
There's really nothing "RANDOM" about it.
It's called pseudo-random, but even that's a stretch.
<br>
DT
OK.....
What is the best way to approach the need for the appearance of "random"?
I have seen that there is a pattern and haven't figured out a way to circumvent it other than to make the sequence long to make it harder to see the pattern (LEDs)
Mark
When you have a microprocessor that does the exact same thing every time you turn it on, it's very difficult to get truly "Random" numbers.
I've seen people suggest amplifying the noise from a diode junction and reading it with the A/D. But I doubt the distribution of numbers would be very good because it ALWAYS returns to 0, and only infrequently makes it to 1023.
So you would get many more low numbers than you would high ones.
If you're interfacing with a Human, you can sort of get random numbers by having a timer free-running, and grab the timer value when the person presses a button. But if you need a lot of numbers really fast, that won't help either.
I've never really seen a good method of getting truly random numbers with a PIC.
<br>
DT
I've designed a few items that require some form of 'Random' (search 'Electronic Dice' for a primitive example). Most applications for 'true' Random are things like Games of chance, and usually require the User to Switch-On. Nobody keeps their finger on a Button for the same length of time, and if you're simply incrementing a variable (like a Timer as Darrel suggested) until the finger is off the Button, the chance of getting the same value twice is pretty minimal. Generating Random isn't difficult, generating 'equal weighting' for something like a Dice throw is a little more tricky!
There is a place for 'Pseudo-Random' too. Especially in Science (and Mathematics), where there is a need to be able to accurately recreate an experiment (or a series of calculations) even if they contain an element of randomness.
Bookmarks