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







Zitieren

Lesezeichen