Hui, das geht hier ja fix mit euren Antworten! Danke dafür!
Hier ein neuer Versuch, diesmal mit Interrupts.
Habe ich das so richtig verstanden?
Code:
$regfile = "m8def.dat"
$crystal = 1000000
Config Pinb.3 = Input
Eingang Alias Portb.3
Config Portb.4 = Output
Ausgang Alias Portb.4
Dim A As Byte
Dim B As Byte
A = 0 'beim Start ist A=0 und B=0
B = 0
Config Int0 = Rising 'Interrupts reagieren auf steigende Flanke
Config Int1 = Rising
Enable Interrupts
Enable Int0 'Interrupts einschalten
Enable Int1
On Int0 Isr_von_int0
On Int1 Isr_von_int1
Do
If Eingang = 1 Then 'Wenn Eingang=1, dann Ausgang=1
Ausgang = 1
End If
If A = B Then 'Wenn A=B, dann Ausgang=0
Ausgang = 0
End If
Loop
Isr_von_int0: 'Zähle A hoch
Do
A = A + 1
Return
Isr_von_int1:
B = B + 1 'Zähle B hoch
Return
Am Ende erwartet Bascom laut Syntaxprüfung einen Loop. Warum?
Grüße,
Johannes
Lesezeichen