Probleme mit Tasterentprellung

Gast #1077113
Lesenswert?

Hallo,
ich habe mal eine Frage,...hoffe das mir einer weiter hilft.

Ich verwende einen Atmega32. Über den Pin PD2 wird über den Interrupt 
ständig ein Taster abgefragt. Wird dieser betätigt setze ich alarm auf 1

bisher:

SIGNAL(SIG_INTERRUPT0)
{
  alarm = 1;
}


Nun habe ich aber Probleme mit der EMV bekommen da der Taster an einem 
längeren Kabel angeschlossen ist, Deswegen möchte ich den Taster gerne 
entprellen. Da die main methode im Ruhezustand keine anderen Aufgaben 
hat außer den Schalter zu überwachen kann ich mir einen etwas längeren 
interupt leisten.

habe es mit folgendem Code versucht:


SIGNAL(SIG_INTERRUPT0)
{
  alarm = 1;
        timer_wait(500);
        if (0<<PD2)
        alarm = 1;
}


JEdoch kann ich jetzt den Alarm nicht mehr auslösen. Kann mir einer 
sagen was ich falsch mache ... oder wie man den Pin richtig abfragt.
Würde mich auf eine Antwort freuen!
Vielen Dank
Stefan
#1077230
Lesenswert?

Stefan wrote:
> Nun habe ich aber Probleme mit der EMV bekommen da der Taster an einem
> längeren Kabel angeschlossen ist, Deswegen möchte ich den Taster gerne
> entprellen.

Dazu hat sich bei mir die 4-fach Abtastung bewährt.
Ein Zustandswechsel wird nur dann übernommen, wenn 4-mal hintereinander 
der entgegengesetzte Zustand erkannt wird.
Als Abtastintervall hat sich 10ms bewährt. Die 40ms Verzögerung sind bei 
manueller Betätigung unmerkbar.


> Da die main methode im Ruhezustand keine anderen Aufgaben
> hat außer den Schalter zu überwachen kann ich mir einen etwas längeren
> interupt leisten.

Kann man machen.
Also bei jedem Programm von neuem anfangen zu überlegen, welche 
umständliche Entprellmethode man sich denn nun leisten kann.
Und wenn das Programm wächst, sich ärgern, daß man es sich plötzlich 
nicht mehr leisten kann und von neuem anfangen nachzudenken.


Ich bevorzuge allerdings die eine für alles Entprellmethode.
Da muß man nie wieder nachdenken. Einfach ins neue Programm einfügen und 
vergessen. Ich hab sie deshalb bulletproof genannt.


Peter
Gast #1077237
Lesenswert?

Vielen Dank für die Antworten,....
@ Stefan Henning:
warum sollte man so was immer vermeiden? warum wird es denn dann 
hardwareseitig unterstützt. das ist ja ein alarm gerät was nur über 
einen taster ausgelöst werden kann.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren