Sleep-Mode mit externem IR beenden

Gast #76154
Hallo, ich hab ein Problem mit dem Aufwecken aus dem
Power-Down-Sleep-Mode per externem Interrupt.

Was läuft falsch,
die Funktion go_Sleeping() versetzt meinen 8535 zwar wunschgemäß in
Schlaf. Über eine fallende Flanke an INT0 sollte er dann wieder
aufgeweckt werden.

Das funktioniert bisher nur bei levelgetriggertem ext.IR. jedoch nicht

mit flankengetriggertem. Der Fehler entsteht mit dem Aufruf
sleep_mode(), denn, wenn ich es durch for(;;); ersetzte wird sehr wohl
auch flankengetriggerter IR ausgelöst.

Danke für eure Hilfe.



SIGNAL(SIG_INTERRUPT0){ debugprint("INTERRUPT0 ausgelöst");}

void go_Sleeping(void)
{
  #ifdef MIT_LCD_SLP
  AT_LCDPOS_SLP("sl"); // Kontrollausgabe
  #endif

  MCUCR = 1<<ISC01;  // falling edges on int0
  //MCUCR = 0;  // low level of INT1 generates an IR ==> so gehts
immer!
  GIFR = 1<<INTF0;   // IR-request-flag rücksetzen
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
  enable_external_int(1<<INT0);   // oder GIMSK = 1<<INT0;
  sleep_mode();  // ersetzt durch for(;;); und INT0 trigger auch mit der
Flanke
  FUEGE_EIN_ZEHN_NOPS;
  enable_external_int(0);

  #ifdef MIT_LCD_SLP
  AT_LCDPOS_SLP("wk"); // Kontrollausgabe
  #endif
}
Gast #76155
Flankengetriggerte externe Interrupts können nicht aus dem Tiefschlaf
wecken: die Flankenerkennung benötigt einen laufenden Taktgenerator.

RTFdatasheet...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.