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

Thema: Timer hängt?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    03.11.2007
    Ort
    München
    Beiträge
    23
    Hallo zusammen,
    Danke @ Feuerring, das war der entscheidende Tip.
    @Peter(TOO) meinst du mit Debugger den Simulator (F2) ?. Ich habe keine Ahnung wie ich die Werte die vom VB Programm kommen dort hineinbekomme.
    LG MrPower

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    59
    Beiträge
    207
    Mein Tipp an MrPower

    schreibe mit Einrückungen und Absätzen, erleichtert das lesen ungemein

    Beispiel:

    Code:
    Ms=0
    Do
        'Locate 1 , 1
        'Lcd "Bin im Do-Loop" ; S
        Print "Bin im Do-Loop"
        Print "Durchlauf Nr. " ; S
        '  ------ Ms = 0  ----- 
        If Ms = Wert3 Then
            Gosub Kamera_ein
        End If
        
        Wert34 = Wert3 + Wert4
        If Ms = Wert34 Then
            Gosub Kamera_aus
        End If
        
        If Ms = Wert5 Then
            Gosub Blitz_ein
        End If
        
        Wert56 = Wert5 + Wert6
        If Ms = Wert56 Then
            Gosub Blitz_aus
        End If
        
        If Ms = Wert7 Then
            Gosub Ventil_ein
        End If
        
        Wert78 = Wert7 + Wert8
        If Ms = Wert78 Then
            Gosub Ventil_aus
        End If
        
        If Ms = Wert9 Then
            Gosub Ventil_ein
        End If
        
        Wert91 = Wert9 + Wert10
        If Ms = Wert91 Then
            Gosub Ventil_aus
        End If
    Loop Until Ms > 2000
    bei jeder Schleife / Bedingung usw. Beginn um ein nach rechts einrücken und am jeweiligen Ende wieder ein zurück
    Geändert von Feuerring (13.07.2016 um 09:40 Uhr)
    Gruß Ralf ... Projekt-Beschreibungen www.greinert-dud.de ... "Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und hat's gemacht."

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    03.11.2007
    Ort
    München
    Beiträge
    23
    Hallo zusammen.
    kann mir einer sagen warum bei dem Code
    If Ms = Wert3 Then
    Gosub Kamera_ein
    End If

    das Programm nicht ins Unterprogramm verzweigt. Wenn ich das Gleich durch ein Größer ersetze verzweigt es schon, bzw die am Ausgang angeschlossene LED leuchtet im ersten Fall
    nicht, im zweiten Fall schon.

    LG MrPower

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    59
    Beiträge
    207
    If Ms = Wert3 Then
    Wert3 = Val(daten_ar(3)) 'Anfang Kameraauslösung
    welchen Wert hat denn WERT3 ... sollte > 0 aut jeden Fall sein ?!
    Gruß Ralf ... Projekt-Beschreibungen www.greinert-dud.de ... "Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und hat's gemacht."

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    03.11.2007
    Ort
    München
    Beiträge
    23
    Hallo Feuerring,
    die Werte sind variabel, die hängen von der Benutzereingabe ab. Die Frage ist warum geht die LED bei = nicht an. Bei >
    funktioniert das doch auch. Die LED bleibt dann solange an bis Wert34 erreicht ist, danach klappert es da beide Werte
    > ms sind.

    LG MrPower

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    05.11.2009
    Ort
    Gerblingerode
    Alter
    59
    Beiträge
    207
    Die Frage ist warum geht die LED bei = nicht an. Bei >
    Die Frage welcher Wert wird übergeben z.B. 0 der wird nicht klappen, aber MS>0 funktioniert natürlich ...

    Dann ist die Frage wie lange braucht das Programm bis es in die Do/Loop Schleife geht, in der Zwischenzeit zählt der Timer bereits MS hoch, deswegen auch MS=0 vor der Do/Loop Schleife ...

    wenn Deine Do/Loop Schleife z.B. in der Ausführung länger als 1ms dauert, zählt in der Zwischenzeit der Timer MS hoch, da ist es dann Glücksache den genauen ms Wert zu treffen,
    dein Programm funktioniert nur wenn die Do/Loop Schleife x fache Durchläufe in einer ms macht ...

    Was man auch machen könnte, in der Interrupt Routine, wo derzeit ms hochgezählt wird deine IF - Anweisungen und die Ausgaben zu legen ... dieses sollte aber dann in der Ausführung nicht länger als 1ms dauern ...
    Gruß Ralf ... Projekt-Beschreibungen www.greinert-dud.de ... "Alle sagten: Das geht nicht. Dann kam einer, der wusste das nicht und hat's gemacht."

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    03.11.2007
    Ort
    München
    Beiträge
    23
    Hallo Feuerring,
    hab alles in die ISR gepackt und es funzt.

    LG MrPower

Ähnliche Themen

  1. Programm hängt
    Von MrPower im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 12
    Letzter Beitrag: 15.06.2015, 18:52
  2. Timer hängt sich auf?
    Von Ineedhelp im Forum C - Programmierung (GCC u.a.)
    Antworten: 15
    Letzter Beitrag: 22.08.2008, 16:49
  3. AVR Studio hängt sich auf !!
    Von AndyTrendy im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 29.04.2008, 22:04
  4. LCD hängt sich auf
    Von hotijack im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 30.05.2007, 16:47
  5. MEGA8 hängt sich auf
    Von rathma im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 15
    Letzter Beitrag: 13.04.2007, 18:19

Berechtigungen

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

Labornetzteil AliExpress