Hallo Leute, ich hab mich nun seit Langen mal wieder mit meinem Problem mit den INterrupts beschäftigt, und hab mein Prblem immer noch nicht gelöst.
Ich habe an den Hardware-Interrupt-PIN (PORT D, PIN3 -> INT0 oder PORT D, PIN4 -> INT1) den Ausgang von meinem SHARP GP1A70R (Gabellichtschranke) an diesen Port angeschlossen dort liegt bei LOW 0,08 Volt und bei High 3,7Volt an.
Jedoch wenn ich den Interrupt auf Rising stelle, dann läuft meine Variable ständig hoch ohne das sich der Wert am Sensor ändert und wenn ich auf Falling setze bleibt die Variable = 0 ...
Was mach ich denn nur Falsch, ich weiß wirklich nicht mehr weiter...
hier noch mal mein Programm:
Code:
Declare Sub Mycounter()
$regfile = "m32def.dat"
Dim I As Word
$crystal = 16000000 'Quarzfrequenz
$baud = 9600
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Tccr1b = Tccr1b Or &H02 'Prescaler = 8
On Int1 Mycounter
Config Int0 = Rising 'interrupt für high level
Enable Int0
Enable Interrupts
I = 0 ' I auf Null setzen
Do
'main loop starts here
Print "this is a test for interrupts I = " ; I
Waitms 100
Loop
End
Mycounter:
Disable Interrupts
Incr I
Enable Interrupts
Return
Lesezeichen