sind die Taster entprellt?
(Ich hasse zwar Bascom, aber afaik gibt es einen Entprellfunktion. Glaube die heiß debounce)...
Hi,
wie der Name schon sagt habe ich ständig einen Doppel Interrupt an den
Interruptpins, d.h. wenn ich einen Taster drücke wird die ISR ausgeführt
danach direkt noch mal, ohne das der Taster dedrückt ist. Hier mal mein
Code:
Code:$regfile = "m8def.dat" $crystal = 14745000 $baud = 115200 Portd.3 = 1 Config Int1 = Falling On Int1 Take Nosave 'Nosave Enable Int1 Enable Interrupts Do Loop Take: Print "h" Waitms 1000 Return End
Grüße Furtion
sind die Taster entprellt?
(Ich hasse zwar Bascom, aber afaik gibt es einen Entprellfunktion. Glaube die heiß debounce)...
Hi,
der Eingang ist nicht entprellt, wobei es sich dabei eigendlich gar nicht um
einen Taster handelt sondern um das TxD Signal, dass in der ISR ausgelesen
wird, ich hatte das hier nur noch zur Vereinfachung mit nem Taster. Ich
vermute ja dass sich der Mega8 merkt das noch ein Interrupt vorliegt, und
den dann darauffolgend ausführt. Wenn das so ist müsste man das iwie
wieder auf 0 setzen...
Grüße Furtion
Du kannst ein Interruptanfrage löschen, wenn du die Interterruptflag clearst.
naja, das TxD-Signal ist ja nicht ein Pegel, sondern sieht z.B. so aus
Da ist es logisch, das der Interrupt mehrmals auftritt.Code:--- --- --- --- --- --- --- --- --- ---
Ich empfehle den URXC-Interrupt zu nutzern, bei dem hast du das Problem nicht.
MfG
hoi,
du musst dann halt in der isr die interrupts abschalten. aber dann verpasst du natürlich die nächsten impulse.
mfg jeffrey
Lesezeichen