Hallo, kennt ihr nen Random befehl für C der auf dem Atmega 8 funktioniert?
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.