- LiFePO4 Speicher Test         
Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 42

Thema: Zielscheibensystem mit Zufall

  1. #11
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Bad Bramstedt
    Alter
    45
    Beiträge
    1.369
    Anzeige

    E-Bike
    Du schreibst immer noch für einen Atmega8 - ist Dir das schon aufgefallen?

    Was soll man jetzt zu diesem Programm sagen?? - fang nochmal an oder das ist es wohl noch nicht.

    Also cih verstehe nichts von dem was Du hier codest.

    Wozu änderst Du alle 250ms den Wert von Scheibe? Da kanst Du doch auch gleich den letzten Wert im Block nehmen.
    Wofür sind die Interrups überhaupt angegeben? - Die machen doch nichts wenn ich das richtig sehe.
    A wird nicht zurückgesetzt.
    Die Scheife wird vermutlich auch schneller durchlaufen sein, als Du blinzeln kannst.


    Viele Grüße

  2. #12
    DjEKI
    Gast
    Du hattest mir keine Antwort geschrieben, warum du meinst, dass es nicht für den ATmega32 ist und hast mich schon wieder nur darauf hingewiesen, dass dieser Script nicht für den ATmega32 ist, sondern für den mega8. Könntest du mir denn jetzt bitte sagen, warum dass so ist?

    Meine Idee war, die 250ms so auf zu teilen, dass es am Ende 2 Sekunden ergibt. Und fals ein Interrupt auftreten sollte, genau in der MilliSekunde stehen bleibt, dann ist der letzte vergebene Wert für die Aktivierung der nächsten Zielscheibe.
    Dann wollte ich: Der letzte Wert am ende des Layers, hat bei Scheibe1 den Wert 3, Scheibe2 den Wert 2 und Scheib3 den Wert 1. Die sind desshalb unterschiedlich, fals man die Zielscheibe nicht getroffen hat, dann kommt die nächste Zielscheibe und nicht nochmal die Selbe.

    -EDIT-
    Ich habe sowieso eben bemergt:
    Line:58 "und" 60 Variable can not be used with SET [SCHEIBE = 1 "und" 2]

    mfg EKI
    Geändert von DjEKI (11.02.2013 um 20:04 Uhr)

  3. #13
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Bad Bramstedt
    Alter
    45
    Beiträge
    1.369
    oh sorry, ich hatte in dem Beitrag überlesen das ich angesprochen war ganz oben die erste Zeile sagt es aus: m8def.dat (-> m32def.dat)


    Wieso darf denn nicht auch die selbe Zielscheibe nochmal kommen? Wäre doch okay, vor allem wenn man schon weggezogen hat um ne neu aus zu suchen? Vielleicht aber dann nicht nochmal
    Ich denke den ganzen Block mit den drei verschieden Scheiben kann man sehr viel kürzer schreiben.
    Wenn man annimmt der Wert ist 2, dann zählt man solange durch, bis Interrupt, wenn der Wert dann gleich 2 ist, ziehe eine 1 ab oder zähle 1 dazu, man könnte auch 3 dazu zählen lassen um ne neue Scheibe auszuwählen - schon ist das Problem weg.

    Aber woher weiß den Dein Programm wann es welchen Interrupt ausführen soll? - vielleicht habe ich das selbst auch nur noch nicht verstanden.
    Wenn ich soweit verstanden habe, dann müßtest du im Interrupt den Wert der Scheibe ändern, denn sonst läuft es bis zum letzten wert durch sobald es aus dem interrupt wieder zurück an Stelle springt.

    Viele Grüße
    Geändert von HeXPloreR (11.02.2013 um 20:11 Uhr)

  4. #14
    DjEKI
    Gast
    Axo, der Interrupt kommt durch ein Taster. Int0 und Int1 sollen per Taster, Also Zielscheibe 5 Punkte und 10 Punkte aktiviert werden. Oder muss ich die Int0 und 1 als Input angeben?
    Wenn nicht, habe ich ja nur 2 Interrupt eingänge. Und die müssen ja irgendwie mit den Druckplatten verbunden werden. Ich hätte es lieber so, dass nur die aktiverte Scheibe funktioniert, und alle anderen deaktiviert sind. Da aber sich alles nur mit Interrupt arbeiten lässt, sind halt alle Scheiben aktiv, dass heißt, auch wenn die SCheibe nicht leuchtet, könnte man damit ein Punkt machen. Wäre ja aber Betrug ^^

    PS, danke für den Hinweis, die obere Zeile mit m8def.dat habe ich von nen anderen SCript kopiert und mir nichts dabei gedacht.

    mfg EKI

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Wenn nicht, habe ich ja nur 2 Interrupt eingänge. Und die müssen ja irgendwie mit den Druckplatten verbunden werden. Ich hätte es lieber so, dass nur die aktiverte Scheibe funktioniert, und alle anderen deaktiviert sind. Da aber sich alles nur mit Interrupt arbeiten lässt, sind halt alle Scheiben aktiv, dass heißt, auch wenn die SCheibe nicht leuchtet, könnte man damit ein Punkt machen. Wäre ja aber Betrug
    Das habe ich mir auch überlegt (auch wenn ich mich in den Rest des Codes nicht wirklich reingedacht habe).
    Ich glaube, die einzig gute Lösung hierfür ist ein Controller mit 12 Interrupt-Eingängen, von denen jeweils immer nur die zwei aktiviert werden, die zur momentan aktiven Scheibe gehören. Da gäbe es z.B. den Mega88 (28 Pins, kompatibel zum Mega8 , der hat 2 "normale" Interrupt-Eingänge, und 20 (!) sogenannte Pin-Change-Interrupt-Eingänge.

    Aber bevor ich lange weitererzähle was es damit auf sich hat, müsstest Du erstmal sagen, ob Du hinsichtlich des verwendeten Controllers soweit flexibel bist...

  6. #16
    DjEKI
    Gast
    vom geld her sollte es nicht scheitern. ich werde mir den besorgen. ich bin jetzt auf arbeit und kann daher nicht sagen, ob mein board sowas ansteuern kann. ich müsste sowieso bei conrad noch was bestellen, aber könntest du mir bitte sagen, ob es ein passendes board gibt? ich bräuchte endlich mal USB aber wenn das zu teuer ist, dann löte i mir auch selber was zusammen.

    ok, aber in meinem code habe i sowieso 2 Fehler. set scheibe und goto im label int0_5punkte, wie könnte i die beheben ?

    mfg eki

  7. #17
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Hallo!

    Eine Interruptroutine muß mit "RETURN" abgeschlossen werden!

    Set Scheibe = X ist Unsinnig.
    Entweder Set Scheibe (Scheibe = 1) oder Reset Scheibe (Scheibe = 0)
    Die ganzen GOTO's sind zu vermeiden.
    Stackwerte einfügen.

    Bascom Hilfe lesen, lesen, lesen.

    MfG

  8. #18
    DjEKI
    Gast
    die seite ist gut. von dem hab ich fast mein ganzes wissen. aber den set befehl habe ich dort nicht erklärt bekommen. ich dachte, man könnte den wert ersetzen. dann mach ich eben incr und um auf 1 wieder zu kommen reset und dann wieder incr.
    was meinst du mit stackwerte einfügen ?
    return nach interrupt ist klar, das wusste ich, steht auch als begründung dar und ich wollte dafür ein ersatz haben, wie ich das ändern könnte. das war nur als hilfe, dass ich dlnach dem interrupt zu einer bestimmten lane möchte. da goto aber den interrupt nicht verlässt ist halt doof...

    mfg eki

  9. #19
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Ich meine die interne Bascom_Hilfe. Die Verlinkung erzeugt die Forensoftware.
    Oder hier.

    MfG

  10. #20
    DjEKI
    Gast
    Axo die, die nutze ich auch sehr häufig. Leider konnte ich zu Variabeln nichts finden, zb das mit den SET. Aber das Problem wäre ja nun gelöst mit incr.

    Aber hättest du ne Lösung für mich, wie ich das mit dem Goto lösen kann? Kann man überhaupt mit ein Interrupt zu einer bestimmten Lane springen? Oder geht ein Interrupt immer nur dort weiter, wo es unterbrochen wurde.

    -EDIT-
    Das mit dem SET ersatz habe ich behoben. Einfach nur Scheibe = 1. Praktisch ohne Set. Funktioniert jedenfals in der Simulation.

    mfg EKI
    Geändert von DjEKI (12.02.2013 um 18:17 Uhr)

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte

Ähnliche Themen

  1. 4 Led´s unabhängig per Zufall blinken lassen?
    Von DanielSan im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 22
    Letzter Beitrag: 20.07.2011, 13:43
  2. Wie denn "Zufall" programmieren
    Von Cybrix im Forum C - Programmierung (GCC u.a.)
    Antworten: 16
    Letzter Beitrag: 11.06.2007, 09:10
  3. Zufall wirklich Zufall ???
    Von Speed im Forum Software, Algorithmen und KI
    Antworten: 3
    Letzter Beitrag: 03.08.2006, 12:03
  4. LED´s per Zufall leuchten lassen
    Von Hoomer im Forum Elektronik
    Antworten: 11
    Letzter Beitrag: 05.02.2006, 14:45

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress