Hoffe es hilft dir ein bisschen weiter.
bei steigender flanke an int0 (portb.0 beim mega12 wird gezählt.
Code:
$regfile = "m128def.dat"
$crystal = 16000000
$baud = 9600
Config Timer1 = Timer , Prescale = 256
Ddrb = &B11111100 'set portb.0,portb.1, inputs.
Portd = &B00000001 'interner Pullup an PD0 aktivieren
Dim Puls As Integer
Dim Actspeed As Integer
On Timer1 Timer1int
Timer1 = 3036
On Int1 Intr
Config Int1 = Rising
'=======PROGRAMM=====================
Puls = 0
Actspeed = 0
Enable Interrupts
Enable Int1
Enable Timer1
Start Timer1
Do
'Hier könnte deine ausgabe stehen (actpuls)
Loop
End
Timer1int:
Actpuls = Puls 'jetzt übertragen wir den wert
Puls = 0
Timer1 = 3036 '0,3 Sekunde
Return 'ende des timerinterrupts
Intr:
If Pind.1 = 1 Then incr Puls
Enable Int1
Return
Lesezeichen