- LiTime Speicher und Akkus         
Ergebnis 1 bis 5 von 5

Thema: Programm noch nicht perfekt (Interrupts?)

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.07.2004
    Beiträge
    178

    Programm noch nicht perfekt (Interrupts?)

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hey,

    ich möchte gerne mit 2 tastern 2 verschiedene Programmabläufe ein und ausschalten können. Funktioniert auch soweit alles, blos muss ich beim aussschalten den Taster immer ziemlich lange gedrückt halten weil er erst das Programm zu ende laufen lässt. Ich denke mal das fehlen Interrupts oder? Wäre nett wenn jemand mal den Code Optimieren könnte bzw. das fehlene hinzufügen.

    Code:
    $regfile = M8def.dat
    $crystal = 3638400
    
    Ddrd = &B11100000
    Portd = &B00001100
    
    Declare Sub An
    Declare Sub Aus
    Declare Sub Prg1
    Declare Sub Prg2
    
    
    Dim T1 As Bit
    Dim T2 As Bit
    
    
    Do
    
    Debounce Pind.2 , 0 , An , Sub
    Debounce Pind.3 , 0 , Aus , Sub
    
    If T1 = 1 Then
    Gosub Prg1
    End If
    
    If T2 = 1 Then
    Gosub Prg2
    End If
    
    Loop
    End
    
    An:
    Toggle T1
    Return
    
    Aus:
    Toggle T2
    Return
    
    Prg1:
    
     Portd.5 = 1
     Waitms 100
     Portd.5 = 0
     Portd.6 = 1
     Waitms 100
     Portd.6 = 0
     Portd.7 = 1
     Waitms 100
     Portd.7 = 0
    
     Return
    
    Prg2:
     Portd.5 = 1
     Waitms 400
     Portd.5 = 0
     Portd.6 = 1
     Waitms 400
     Portd.6 = 0
     Portd.7 = 1
     Waitms 400
     Portd.7 = 0
    
     Return
    Danke schonmal!

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    35
    Beiträge
    1.614
    hä? was hastn du fürne anwendung? willst du das programm unterbrechen können?
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Ein Interrupt würde so nix nutzen, du mußt zwar nicht so lange drücken, aber WARTEN auf Reaktion mußt du genausolange.
    Der Tod sind die verstreuten WaitmS.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    35
    Beiträge
    1.614
    neeee, du kannst das ja durch an und abschalten der ints an bestimmten stellen abbrechen das programm, das geht wunderbar mit interrupts
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.07.2004
    Beiträge
    178
    Und wie muss nun das programm aussehen, damit es funktioniert? Wenn ich Taster 1 drücke soll Prg1 angehen, beim nochmaligen drücken soll es sofort ausgehen (Auch wenns gerade noch am durchlaufen ist!).

Berechtigungen

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

LiTime Speicher und Akkus