int 1 problem

Gast #169354
Lesenswert?
• ▲
▼
Hallo

Habe einen DTMF dekoder  an einer Mega 162 CPU die zeichen erkant
leitung des DTMF dekoders hängt an int 1.

wird ein gültiges zeichen empfangen spring der controler auch in die
int rotine dort warte ich auf andere DTMF zeichen. die int leitung
wechselt also noch öfters seinen pegel - wenn ich jetzt "reti" mache
springt der controler sofort wieder in meine int 1 rotine.
wie kann ich verhindern das er sich das merkt das wären der interrupt
rotine ein weiterer interrupt ausgefürt wurde ?
Gast #169358
Lesenswert?
• ▲
▼
Ich kenne mich mit Atmel Mega nicht aus, könnte mir aber vorstellen,
dass irgendwo Flagbits existieren die sich die aufgetretenen Int´s
merken. Die muss man halt vor reti zurücksetzen.
Davon abgesehen ist Warten in der ISR schlechter Programmierstil weil
alles andere blockiert wird.

Dieter
Gast #169359
Lesenswert?
• ▲
▼
Sagt die "Zeichen erkannt-Leitung" nicht aus, dass genau jetzt ein
gültiges Zeichen erkannt wurde? (Ein Zeichen, nicht mehrere)

Dann übernimm doch in der ISR nur dieses eine Zeichen und beende sofort
mit RETI. Das nächste gültige Zeichen löst dann einen neuen INT aus, in
dem du das nächste Zeichen übernehmen kannst. Die einzelnen Zeichen
kannst du gut in einem Ringbuffer speichern und nach Ausbleiben
weiterer Zeichen auswerten.

...
Gast #169360
Lesenswert?
• ▲
▼
Hallo

Das programm wolte ich jetzt nicht komplett umschreiben und das in der
zwichenzeit das hauptprogramm nicht weiterleuft ist uberhaup nicht
schlimm....


@mmerten
genau so was such ich ja ein register oder bit das ich zurücksetzen
kann
und die cpu vergessen hat das ein int da war....
Gast #169362
Lesenswert?
• ▲
▼
hallo

Habe es mal mit GICR vsrsucht das hat nicht geholfen aber GIFR habe ich
wohl übersehen .

Habs auch gleich getestet - und es geht auch so wie ich wollte

Danke Danke Danke

natürlich auch an die anderen Danke

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.