Gast
#1423867
gibt es irgendeine Möglichkeit oder Library, um in C18 schnell Zufallszahlen zu generieren (0-1000)? Rudi
|
Anzeige
|
Zufallszahlen mit C18
Gast
#1423867
gibt es irgendeine Möglichkeit oder Library, um in C18 schnell Zufallszahlen zu generieren (0-1000)? Rudi
Gast
#1424109
niemand eine Idee? Das Problem liegt wohl bei "schnell" srand() und rand() kann der c18 von alleine wenn du die math.h einbindest. wirklich zufällige zahlen kriegst du dann wenn du auf einem offenen analogeingang misst und die letzten paar stellen auch noch heranziehst :)
Gast
#1424150
an die Einbeziehung eines Analogeinganges hab ich schon gedacht. Aber damit kann ich keinen Bereich von 0-1000 abdecken... in der math.h hab ich gerade etwas herumgestöbert, rand bzw. srand ist dort aber nicht enthalten. Such mal in der stdlib.h Michael
Gast
#1424179
jup habs gefunden, danke.
Gast
#1424194
Wenn du aber halbwegs zufällige Zahlen haben möchtest kommst du über einen Analogeingang nicht herum. Sonst spuckt die Methode immer die selben zahlen aus. Gruß Ups, mein Fehler :D Sorry wegen der falschen Lib. Ich würde wie mein Vorredner unbedingt einen Analogwert als Seed verwenden, sonst wird das nie richtig "zufällig".
Gast
#1424848
Gängige Variante wär auch, eine Zenerdiode mit dem ADC zu vermessen. Zenerdioden sind von Haus aus eh schon Rumpelgurken :-)
Gast
#1424863
>Wenn du aber halbwegs zufällige Zahlen haben möchtest kommst du über >einen Analogeingang nicht herum. Sonst spuckt die Methode immer die >selben zahlen aus. Gruß Das kommt drauf an wie die Zufallszahlen erzeugt werden. Wenn der Zufall mit Benutzereingaben gekoppelt sein soll könnte man rand() z.B. in einem Timerinterrupt dauernd aufrufen. Also ständig Zufallszahlen erzeugen auch wenn sie noch gar nicht gebraucht werden.. Alleine durch die unterschiedlichen Reaktionszeiten bekommt man so schon ganz brauchbare Ergebnisse. Aus einem Analogeingang würde ich höchstens den Seed für einen Software-Zufallsgenerator ziehen. Was aus einem Analogeingang in den µC kommt, ist nämlich alles nur nicht gleichverteilt, wenn man dafür nicht den entsprechenden Hardwareaufwand treibt.
Gast
#1425034
danke inzwischen mal für die Antworten. Ist es möglich den internen Oszilator mit dem externen zu Vergleichen? Ich bin mir aber nicht sicher ob die Diskrepanzen ausreichen würden, um Zufallszahlen zu erzeugen... Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|