- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 21

Thema: Finde Fehler nicht

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.05.2012
    Beiträge
    22
    Danke werd ich morgen ausprobieren. Wollte aber am ende der Entwicklung Motoren zu einer bestimmten Zeit (z.B 1h23m)einschalten und nach einer Bestimmten Anzahl an Umdrehungen ( z.B. 20) wieder ausschalten, nach einer bestimmten Zeit ( z.B. 3h56) wieder einschalten und nach 20 Umdrehungen wieder ausschalten usw...

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von Tido
    Registriert seit
    14.11.2006
    Ort
    OWL
    Alter
    48
    Beiträge
    622
    Dann setz dir in der Sub ne Variable auf 1 und lösche sie in der irq wieder, wenn sich die minute ändert. Und den "gosub" führst du nur aus wenn variable=0. So ist sichergestellt, dass die sub nur einmal pro minute aufgerufen wird.
    MfG
    Tido

    ---------------------------------------------------
    Have you tried turning it off and on again???
    ---------------------------------------------------

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    20.05.2012
    Beiträge
    22
    Hallo danke für die Hilfe hat leider nicht den gewünschten Erflog gebracht !!
    Geändert von hunikuni (02.06.2012 um 21:18 Uhr)

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Ich weiß zwar nicht ob darin das Problem liegt, aber in diesem Teils des Codes fallen zwei Dinge auf:
    Code:
    Led:     Hallimpuls = 0     On Int0 Zaehlen     If Hallimpuls = 0 Then     Toggle Portd.1
    1. Wenn Du in der ersten Zeile die Variable Hallimpuls auf 0 setzt, brauchst D zwei Zeilen später nicht abzufragen, ob sie auch tatsächlich 0 ist
    (das ist aber nur ein "Schönheitsfehler" und dürfte keine Fehlfunktionen nach sich ziehen)

    2. Das Statement "On Int0 Zaehlen" sollte vor die Hauptschleife, denn es muss nur ein einziges mal deklariert werden, welche ISR beim entsprechenden Interrupt ausgeführt werden soll.
    Wenn Du damit erreichen wolltest dass der Interrupt0 als solches aktiviert werden soll, wäre "Enable Int0" der richtige Befehl. Erst nach dieser Anweisung ist der Interrupt "scharf".

    Außerdem sehe ich das gleiche Problem wie Tido: Das Unterprogramm LED wird nach jeweils 10 Hallsensor-Impulsen gleich wieder aufs neue ausgeführt, weil die Bedingung "Stunde = 0 und Minute = 1 (bzw. 3) ja weiterhin erfüllt ist.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    20.05.2012
    Beiträge
    22
    Dank für die Antwort.
    Außerdem sehe ich das gleiche Problem wie Tido: Das Unterprogramm LED wird nach jeweils 10 Hallsensor-Impulsen gleich wieder aufs neue ausgeführt, weil die Bedingung "Stunde = 0 und Minute = 1 (bzw. 3) ja weiterhin erfüllt ist
    Ich dachte Timer läuft weiter und Bedingung Stunde = 0 Minute =1 bzw 3 ist nur einmal erfüllt ist.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Natürlich ist die Bedingung nur "einmal" erfüllt -aber das für eine ganze Minute lang! Und während dieser Zeit wird die Hautschleife schätzungsweise ein paar Millionen male durchlaufen, und jedes mal wird das Unterprogramm ausgeführt!

    Und der Timer läuft sowieso weiter...

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    20.05.2012
    Beiträge
    22
    Danke, aber dann müsste das Led sofort wieder anfangen zu leuchten und nicht aus bleiben ??? Habe ja das Problem dass es ausgeht und nach der definierten Zeit ( hier 3. Minute )nicht wieder an geht !! Oder habe ich einen Denkfehler ??? Werde wahrscheinlich umdrehungsabhängige Motorenabschaltung aufgeben und zeitgesteuterte verwenden.

Ähnliche Themen

  1. Hilfe...finde die fehler nicht heraus
    Von Kuwe im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 13
    Letzter Beitrag: 21.04.2010, 20:29
  2. Antworten: 4
    Letzter Beitrag: 08.01.2008, 19:03
  3. Antworten: 29
    Letzter Beitrag: 07.01.2008, 17:20
  4. ADC - Ich finde den/die Fehler nicht
    Von Christoph2 im Forum C - Programmierung (GCC u.a.)
    Antworten: 9
    Letzter Beitrag: 07.08.2007, 18:34
  5. AVR 90S2313 Problem, und finde nicht den Fehler!
    Von Alex20q90 im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 01.05.2005, 13:20

Berechtigungen

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

LiFePO4 Speicher Test