AtTiny24A externer Interrupt

Gast #3076193
Lesenswert?
• ▲
▼
Hallo zusammen,

versuche grad meinen ersten Interrupt zu generieren und komme grad nicht 
weiter....
Ich versuche eine steigende Flanke am PB2 zu detektieren.
Hierfür möchte ich den INT0 verwenden, jedoch ohne Erfolg.

Mein Ansatz:

ISR(INT0_vect)
{
 // Mach was....
}

int main(void)
{

   DDRB = 1 << PB2;
   PORTB = 1 << PB2;

   GIFR &= 1<<INTF0;
   MCUCR &= (1<<ISC01 | 1<<ISC00);
   sei();

    while(1)
    {
    // Mach was....
    }
}


So, was mache ich falsch oder was fehlt hier noch?
Vorab besten Dank!
#3076737
Lesenswert?
• ▲
▼
1
MCUCR |= (1 << ISC00) | (1 << ISC01); //configure INT0: rising edge
2
GIMSK |= (1 << INT0); //enable INT0
3
sei();
4

5
ISR(EXT_INT0_vect) {
6
  /*tu etwas*/
7
}

Bitte bedenke aber, das INT0 im sleep mode nur "low level" erkennt (also 
keine egde detection) und daher in diesem Falle der pin change interrupt 
das Mittel der Wahl ist:
1
//configure pinchange interrupt on PB2/INT0/PCINT10
2
PCMSK1 |= (1 << PCINT10); //configure interrupts for the PCINT1[8:11] to PB2
3
GIMSK |= (1 << PCIE1); //enable PCINT10
4
sei();
5
/*ggf. hier sleep mode aktivieren*/
6
ISR(PCINT1_vect) {
7
  /*hier müsstest du jetzt noch feststellen, um welche flanke es sich handelt/ob PB2 high oder low ist*/
8
  /*tu etwas*/
9
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.