Atmega ICP1 Messfehler?

Gast #2768449
Moin,

ich habe folgendes Problem, welches ich mir nicht erklären kann.
1. Ein Array mit X Werten liegt vor
2. Dieses Array wird nun bei jedem Interrupt vom ICP1 von vorne mit dem 
Wert von TCNT1 gefüllt; array[0] .. array[x-1]
3. Wenn das Array voll ist, werden die absoluten Abstände zwischen den 
benachbarten Werten berechnet:
array[x-1] = array[x-1]-array[x-2]
..
array[1] = array[1]-array[0]

Das ganze soll also die Periodenlängen bei einem Sinus etc. berechnen.

Nun das Problem: Ab und zu kommt es nun dabei vor (ich habe einen Sinus 
angelegt), dass in einem Arrayfeld der Wert 0 auftaucht. Also bei zwei 
folgenden Interrupts wird der selbe Wert von ICP1 gespeichert bzw. kann 
es sein, dass ein Interrupt zweimal hintereinander ausgelöst wird? Aber 
es kommt ja exakt 0 raus.

Die Messung an sich scheint ja zu funktionieren, denn es wird die 
angelegte Freqeunz auch erkannt nur flackert diese ständig mal hin und 
her, wenn wiedermal eine 0 im Array vorliegt (es wird der Durchschnitt 
der Werte ermittelt)

Ich habe mir die Werte im Array vom µC ausgeben lassen, es handelt sich 
nicht um eine Vermutung :). Z.B. liegen im Array dann folgende Werte 
vor:

12000, 48000, 96000, 144000, 192000, 240000, 240000, 288000

Daraus schließe ich, dass der Interrupt quasi 2mal ausgelöst wird. Aber 
wieso? Die Abarbeitung des Interrupts dauert nur einen Bruchteil, der zu 
messenden Frequenz.

mfg
Nils

Antwort schreiben

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