Sleep Mode disable Externer Interrupt

OP (Firma: FHNW) #3248555
Lesenswert?
• ▲
▼
Guten Abend allerseits!

Ich verzweifle beim Versuch meinen ATMega2561 per externem Interrupt aus 
dem Power Down Mode aufzuwecken! Und zwar hab ich das Problem nur mit 
dem INT7?!

Da meine Folientastatur an 4 Interruptleitungen hängt mache ich im 
Program also viermal dasselbe, mit INT4,INT5,INT6 und INT7.

Hier ein kleiner Ausschnitt aus dem Code
1
// Init Interrupt Ports input
2
DDRE = ( (0<<DDE7) | (0<<DDE6) | (0<<DDE5) | (0<<DDE4));
3
/* Ports output */
4
DDRD = ( (1<<DDD7) | (1<<DDD4) );
5
DDRG = ( (1<<DDG3) | (1<<DDG0) );
6
/* Pullup resistance Interrupt Ports active */
7
PORTE = ( (1<<PE7) | (1<<PE6) | (1<<PE5) | (1<<PE4));
8
/* Pullup resistance output Ports inactive */
9
PORTD = ( (0<<PD7) | (0<<PD4) );
10
PORTG = ( (0<<PG3) | (0<<PG0) );
11

12
EIMSK |= _BV(INT5);  //Enable INT5
13
EIMSK |= _BV(INT4);  //Enable INT4
14
EIMSK |= _BV(INT6);  //Enable INT6
15
EIMSK |= _BV(INT7);  //Enable INT7
16
EICRB |= _BV(ISC71); //Raising Edge Interrupt
17
EICRB |= _BV(ISC70); //
18

19
while (1)
20
  {
21
  ...
22
    
23
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
24
  sleep_enable();
25
  sei();
26
  sleep_mode();
27
  ...
28
  }
29

30
ISR(INT5_vect)
31
{
32
 }
33
ISR(INT4_vect)
34
{
35
 }
36
ISR(INT6_vect)
37
{
38
 }
39
ISR(INT7_vect)
40
{
41
 }

an was kann es also liegen, dass der Controller bei Tasten reagiert, 
welche an INT4:6 hangen aber nicht auf diese an INT7???Ist für mich 
unbegreifbar^^
OP (Firma: FHNW) #3248597
Lesenswert?
• ▲
▼
g457 schrieb:

> Mit INT7:4 kommt man nur via Level-Interrupt [0] aus dem Power-Down.
>
> [0] Anmerkung 3 zur Tabelle 11-1 "Active Clock Domains and Wake-up
> Sources in Different Sleep Modes" im Datenplatt [1]
> [1] http://www.atmel.com/Images/doc2549.pdf

Ok. Das heisst soviel, dass ich den Low Level Interrupt einstellen 
muss?!

Was aber dann noch weniger Sinn macht, ist INT4:6 "funktionieren"?!
Gast #3248600
Lesenswert?
• ▲
▼
> Ok. Das heisst soviel, dass ich den Low Level Interrupt einstellen
> muss?!

Ja.

> Was aber dann noch weniger Sinn macht, ist INT4:6 "funktionieren"?!

Die Hast Du ja auch nicht auf R∗i∗sing Edge gesetzt.

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.