Forum: Mikrocontroller und Digitale Elektronik Random mit ATMEGA 8?


von Nico Droste (Gast)


Lesenswert?

Hallo, kennt ihr nen Random befehl für C der auf dem Atmega 8
funktioniert?

von Sebastian (Gast)


Lesenswert?

mußt du einfach einen laufenden timer auslesen. z.B. TCNT0
ich weiß... ist nicht wirklich random, aber viel mehr geht da bestimmt
nicht. ein "richtiger" Computer macht das glaube ich auch nur über
die systemzeit.

von Jörg Wunsch (Gast)


Lesenswert?

Naja, es gibt PRNG-Algorithmen, avr-libc hat zumindest welche dabei.
Damit das wirklich `random' wird, muß man diese allerdings mit einem
gut zufälligen Wert initialisieren (`to seed').  Dafür sollte man so
viel wie möglich Zufall heranziehen, was auch immer man gerade
verfügbar hat.  Die Uhrzeit ist ja nicht gerade wirklich
unvorhersagbar, insofern taugt sie zumindest im kryptografischen Sinne
eher nicht als hinreichender Zufall.

Ideal sind Dinge wie Interruptzähler von Ethernet-Hardware, RS-232
Hardware, Keyboard-Eingaben (so sie regelmäßig getätigt werden), USB.

von Jörg Wunsch (Gast)


Lesenswert?

Achso, eine Hardwarelösung mit Rauschgenerator (Z-Diode plus
Verstärker) über den Analogkomparator (einfach nur Interrupts zählen)
kann sich auch ganz brauchbar machen.

von OldBug (Gast)


Lesenswert?

Oder einfach mal nen AD-Wert lesen, die unteren Bits "titschen" mit
sicherheit ganz gut...
Ansonsten: gibt schon mind. zwei Threads zu dem Thema, einfach mal nach
"Zufall" suchen.

... http://www.mikrocontroller.net/forum/read-1-94598.html ...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.