Interrupt Atmega

Gast #5166643
Lesenswert?
• ▲
▼
Mahlzeit,
ich möchte bei einem Atmega328 einen Interrupt INT0, welcher bei 
steigender und fallender Flanke ausgelöst wird.
ISC01
Ist es möglich, je nach Interrupt eine andere Funktion aufzurufen? Oder 
muss ich mir den vorigen zustand merken und dann in der ISR abfragen?
Also momentan habe ich
1
extern "C" ISR(INT0_vect)
2
{
3
    if(button::getState() == false)
4
    {
5
        button::setState(true);
6
        timer->start();
7
    }
8
    else
9
    {
10
        button::setState(false);
11
        timer->abortBtn();
12
    }
13
}

Felix
#5166701
Lesenswert?
• ▲
▼
Ums Abfragen kommst du nicht herum.

Du könntest aber statt des INT0 den entsprechenden Pinchange Interrupt 
verwenden. Der löst, wie jetzt auch, bei jedem Flankenwechsel aus. Den 
INT0 konfigurierst du als Falling Edge ohne den Interrupt freizugeben. 
Dann kannst  du in der PCINT-ISR das Flag des INT0 abfragen, daß nur bei 
fallender Flanke gesetzt wird. Das Flag muß dann per Software gelöscht 
werden.
Gast #5166753
Lesenswert?
• ▲
▼
Sapperlot W. schrieb:
> Es ist aber schon klar, dass man damit keine Tasten auswerten soll ?
> Stichwort : Prellen.

Unter anderem schon, aber auch ein DCF-Signal sollte auf dem zweiten 
Interrupt ausgewertet werden (aber mit selber logik).

Mit dem Button hast du aber recht, da muss ihc mir nochmal was überlegen

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.