hä? was hastn du fürne anwendung? willst du das programm unterbrechen können?
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.
Danke schonmal!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
hä? was hastn du fürne anwendung? willst du das programm unterbrechen können?
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
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.
neeee, du kannst das ja durch an und abschalten der ints an bestimmten stellen abbrechen das programm, das geht wunderbar mit interrupts
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
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!).
Lesezeichen