- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: Rnd - Wo ist der Seed Befehl?

  1. #11
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Anzeige

    Powerstation Test
    Mh genau so habe ich es ja im Grunde. Er mist die Schleifendurchgänge in bis eine Taste gedrückt wird und den wert nimmt er dann für __rseed.
    Also haste doch ne Taste zur verfügung.

    Ja dann Timer starten und laufen lassen.
    Wenn die Taste gedrückt wird mit dem Timerwert den Rseed füttern.
    Danach RND(irgendwas) und schon haste deinen Zufallswert.

    Hier mal ein Codebeispiel wie man es zuhauf im Web findet.

    Code:
    $regfile = "2313def.dat"
    $crystal = 4000000
    Config Portb = Output
    Portb.5 = 0
    Config Pind.1 = Input
    Dim Z As Byte
    Dim ___rseed As Word
    
    Config Timer0 = Timer , Prescale = 1
    Enable Timer0
    Start Timer0
    
    Do
    Debounce Pind.1 , 1 , Generator , Sub
    Loop
    
    Generator:
    
    'Blink-Blink...
    
    Portb = 0
    
    ___rseed = Timer0
    Z = Rnd(100)
    ***Hier machste dann was aus dem Wert******
    Return
    Gruß
    Ratber

  2. #12
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Sehr gut geeignet als Seed ist bei AVR uninitialisierter SRAM-Inhalt, und dazu gehören auch die 32 Register
    Disclaimer: none. Sue me.

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    31.01.2006
    Alter
    34
    Beiträge
    35
    Hi,
    habe das Programm jetzt mal so übernommen wie du es da stehen hast. bis auf meine Board spezifischen Änderungen(Ports, Frequenz, ...)

    Aber trotzdem habe ich JEDESMAL das exakt gleiche Muster!!!

    Ich habe es ja schonmal geschrieben das egal welchen Wert ich für __Rseed nun eintrage das Ergebnis von RND() das Gleiche war.
    Woran liegt das...?!!?! ich bin echt ratlos..


    MfG

  4. #14
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Mit wem redest du ?

    Dirk oder Meinereiner ?
    Gruß
    Ratber

  5. #15
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    Zufallsmuster

    Hallo Isator,

    Aber trotzdem habe ich JEDESMAL das exakt gleiche Muster!!!
    Obwohl es ja nur Pseudo-Zufallszahlen sind, dürftest du ein "Muster" beim Aufleuchten deiner LEDs nicht erkennen können. So gut sind sie immerhin, dass sich die Sequenz nicht so schnell wiederholt, dass du das erkennen könntest.

    Da muss was anderes sein, was dir die Suppe versalzt.

    Stell mal das ganze Prog rein!

    Gruss Dirk

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    31.01.2006
    Alter
    34
    Beiträge
    35
    Hi Dirk,
    ich muss sofort zum Training, habe deshalb nicht so viel Zeit. Ich stell das Programm morgen rein.
    Also er erzeugt bei mir ja 6 Zahlen. Diese Zahlen entsprechen halt den Lampen und das Muster erkenne ich schon sehr deutlich. Ich kopier morgen auch nochmal die Zahlen die er generiert. Ich lasse sie nämlich immer auf den PC übertragen.

    MfG

  7. #17
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Anscheinend redet er nicht mit jedem
    Gruß
    Ratber

  8. #18
    Benutzer Stammmitglied
    Registriert seit
    31.01.2006
    Alter
    34
    Beiträge
    35
    Hi,

    @ Ratber: Sry ^^ Eigentlich spreche ich nie jemanden direkt an. Schließlich möchte ich die Community erreichen. Ich hoffe du bist nicht zu sehr gekränkt

    So hiermal das Programm:

    Do
    Taste = Tastenabfrage()

    If Taste <> 0 Then

    Select Case Taste
    Case 1
    Call Licht
    Case 2
    Call Musik
    Case 3
    __rseed = Zeit
    Call Zufall
    Case 4
    __rseed = Zeit
    Call Motor
    Case 5
    Call Test
    End Select

    End If

    Zeit = Zeit + 1
    Loop

    [...]
    Sub Zufall
    Config Portc = Output

    Do



    X = Rnd(6)
    Portc.6 = 1
    Portc.7 = 1

    Portc.x = 0
    Waitms 500
    Portc.x = 1
    Zeit = Zeit + 1
    Print X
    Loop
    End Sub
    Die anderen Subs habe ich mal rausgelassen.


    MfG

  9. #19
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    @ Ratber: Sry ^^ Eigentlich spreche ich nie jemanden direkt an. Schließlich möchte ich die Community erreichen. Ich hoffe du bist nicht zu sehr gekränkt
    Nö,ich bin nicht gekränkt aber die Art zu diskutieren ist sehr irritierend.

    Wie du oben siehst weiß man schnell nicht mehr welches Programm du getestet hast.


    Zum Programm:

    Du nutzt immernoch Statische Werte (Zeit) und hast deswegen die gleichen Werte beim Zufallsgenerator.

    Nutz doch mal den Timer wie vorgeschlagen
    Da die Zeit bis zum Tastendruck nicht definiert ist bekommmst du so deinen Zufallswert.
    Gruß
    Ratber

  10. #20
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    Zufall

    Hallo Isator,

    dein Prog scheint ja so ganz o.k.
    Allerdings:
    Du must ___rseed mit dem Timer laden (wie Ratber geschrieben hat).

    Ich würde das dann nicht jedesmal neu machen, wenn in deinem Menue die Taste gedrückt wird, sondern am Anfang des Progs (nur nach dem 1. Tastendruck).

    Gruß Dirk

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test