PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vierkanaliger Drehzahlmesser - Probleme mit dem Capture-Interrupt am Atmega 8



HorstL
24.11.2012, 14:38
Hallo Community,

zu Testzwecken an meinem Quadrocopter habe ich mir mittels vierer Hall-Sensoren und einem Multiplexer einen Drehzahlmesser gebaut.
Das auf einem Atmega8 laufende Programm (s.Anhang) schaltet über den Timer2 alle 0.3s auf den nächsten Sensor um.
Der für den ICP1 zuständige Timer1 läuft durch und alle Zeitmarken werden mit der Nummer des gerade aktiven Sensors indiziert und zur Auswertung an den PC geschickt.

Das Verfahren hatte ich mir problemloser vorgestellt als es dann war, nämlich hat das Umschalten der Pins, die den Multiplexer steuern, einen zusätzlichen ICP-Interrupt ausgelöst. Seltsamerweise immer dann, wenn einer der beiden Pins von Low auf High geschaltet wurden.
Das Problem war nur zu lösen, indem während der Umschaltroutine kurzzeitig die Interrupts deaktiviert werden.
Ob das aber im Sinne des Erfinders ist, weiß ich nicht und ich würde mich freuen wenn mir als Anfänger jemand sagen könnte, ob ich da vielleicht ein Fehler im Programm steckt, oder ob man das eben so machen muß.

Viele Grüße
Horst