Hallo Leute,
ich hab ein glitzes kleines Problem das mich langsam auf die palme bringt. Interrupts.
Atmega 8
2 Taster an je Int0 und Int1
Softwareseitig auf low gezogen
Entprellt mit Debounce auf High
Probeaufbau gemacht und alles hat wunderbar so funktioniert wie es soll. Aufbau auf Platine und es geht wieder mal nix. Problem ist follgendes. Die Interrupts lösen ständig in einer abartigen Geschwindigkeit aus. Hau ich nun Hardwareseitig nen 10K widerstand ran hört das gepinge zwar auf dafür ist es wurscht welchen taster ich drück es lösen beide Interrupts aus. Ich hatte so ein ähnliches Problem mal mit 230V Relais in der Nähe meiner Steuerung. Da haben die Schaltendes Relais den Interrupt ausgelöst. Das mit dem Pulldown an beiden Tastern war nur mal ein Versuch. Ich bin der Meinung das der jeweils andere Interrupt einen Impuls über die Pulldownwiderstände bekommt beim Drücken des anderen. Kann das sein? Lustig ist: Nehm ich die Platine in die Hand ist es weitestgehend weg. Ich heb Sie aber nur oben und unten..außer Masse berühre ich nix. Jemand ne Idee warum die Interrupts so sche**e empfindlich sind?
Was noch absurder ist: Ich muss eigentlich nur mit der einen Hand die Masse berühren und mit der anderen Hand "Magisch" in die nähe der Platine kommen und schon wird es besser.
Den Code kann ich irgendwie nicht einfügen darum mal die Kurzvariante:
Enable Interrupts
pind.2 = 0
pinD.3 = 0
config debounce=50
Debounce Pind.2 , 1 , Irq0 , sub
Debounce Pind.3 , 1 , Irq1 , sub
Mehr is nicht was die Interupts betrifft. In der Sub wird nur hoch oder runter gezählt.
ich hab ein glitzes kleines Problem das mich langsam auf die palme bringt. Interrupts.
Atmega 8
2 Taster an je Int0 und Int1
Softwareseitig auf low gezogen
Entprellt mit Debounce auf High
Probeaufbau gemacht und alles hat wunderbar so funktioniert wie es soll. Aufbau auf Platine und es geht wieder mal nix. Problem ist follgendes. Die Interrupts lösen ständig in einer abartigen Geschwindigkeit aus. Hau ich nun Hardwareseitig nen 10K widerstand ran hört das gepinge zwar auf dafür ist es wurscht welchen taster ich drück es lösen beide Interrupts aus. Ich hatte so ein ähnliches Problem mal mit 230V Relais in der Nähe meiner Steuerung. Da haben die Schaltendes Relais den Interrupt ausgelöst. Das mit dem Pulldown an beiden Tastern war nur mal ein Versuch. Ich bin der Meinung das der jeweils andere Interrupt einen Impuls über die Pulldownwiderstände bekommt beim Drücken des anderen. Kann das sein? Lustig ist: Nehm ich die Platine in die Hand ist es weitestgehend weg. Ich heb Sie aber nur oben und unten..außer Masse berühre ich nix. Jemand ne Idee warum die Interrupts so sche**e empfindlich sind?
Was noch absurder ist: Ich muss eigentlich nur mit der einen Hand die Masse berühren und mit der anderen Hand "Magisch" in die nähe der Platine kommen und schon wird es besser.
Den Code kann ich irgendwie nicht einfügen darum mal die Kurzvariante:
Enable Interrupts
pind.2 = 0
pinD.3 = 0
config debounce=50
Debounce Pind.2 , 1 , Irq0 , sub
Debounce Pind.3 , 1 , Irq1 , sub
Mehr is nicht was die Interupts betrifft. In der Sub wird nur hoch oder runter gezählt.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von darasol ()