Hi,
um das Thema nochmals aufzuwärmen. Für das einlesen mehrerer Servokanäle muss man etwas Arbeit in die Software stecken, da einem die Hardware (im Gegensatz zur Servoansteuerung) nicht alles abnimmt.
Es gibt nur wenige Timer (z.B. 3 in einem Atmega8). Am einfachsten ist es bei beiden Flanken die Timerwerte zu speichern (ev. über externen IRQ getriggert) und sie danach zu subtrahieren. Der mögliche Timerüberlauf muss dabei natürlich berücksichtigt werden. Es gibt eine Input Capture Funktion die diese Tätigkeit geringfügig vereinfacht, aber sie ist oft nur einkanalig vorhanden und erfordert nach wie vor die "manuelle" Weiterverarbeitung jeder einzelnen Flanke.
Gruß
Reinhard
Geändert von Reinhard am 28. Juni 2009 um 22:09