mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik InputCaptureEdge während Messung verstellen


Autor: hansimglück (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich möchte während einer Messung am ICP die Flankenart verändern. 
(bisher hab ich nur von steigender zu steigender Flanke gemessen -> 
funktioniert super).

Jetzt möchte ich quasi die Zeit zwischen einer steigenden und einer 
fallenden Flanke messen!
also bin ich in meinem Programm hergegangen und habe nach Messung der 
ersten steigenden Flanke das entsprechende Register so gesetzt:

TCCR1B &= ~(1<<ICES1);
damit sollte er ab sofort auf eine fallnde Flanke reagieren.
nach der messung der zweiten Flanke (sollte ja jetzt eine fallende 
sein), habe ich durch folgenden Aufruf das ganze wieder zurück gesetzt:
TCCR1B |= (1<<ICES1);

kann mir da jemand weiterhelfen?

Herzlichen Dank!

Autor: hansimglück (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ähm - sorry hab ich vergessen zu erwähnen - natürlich funktioniert die 
Frequenzmessung jetzt nicht mehr.. :(

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das funktioniert natürlich nur dann, wenn die Zeit zwischen zwei Flanken 
ausreichend lang ist, um die Umschaltung vorzunehmen. Die ISR wird ja 
nicht verzögerungsfrei aufgerufen und hat ordentlich Overhead. Wenn die 
fallende Flanke schon kommt, bevor oder während das ICES1 gelöscht wird, 
dann ist das Ereignis futsch.

Autor: hansimglück (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi!

ja das war mir klar! Denke aber nicht dass das so lange braucht..
hab den fehler grad gefunden - ein blöder schreibfehler denn ich jetzt 
beim 100. mal durchgehen entdeckt habe..
Danke auf jeden Fall
(der erfassbare Bereich für Frequenzen halbiert sich jetzt eben.)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.