Ich glaube du liest meine Postings nicht richtig, bzw. verstehst die Lösungen noch nicht, deswegen willst du auch mit Kanonen (3 AVRs) auf Spatzen schießen.
Im Atmel gibt es 16-Bit Timer, die mit FCPU getaktet werden können. Mit ein paar Befehlen ist das ein 32-Bit-Counter. Wenn dir das als Auflösung nicht reicht, dann weiß ich auch nicht. Im Int0 bzw. Int1 merkst du dir einfach die Timerwerte und hast mit einer einfachen subtraktion deinen Duty-Cycle. Das sind beim 16-Bit-Timer 2 Befehle im IRQ. Aber 3,2 MHz wirst du egal mit welchem Atmel sowieso nicht messen können. Da müsste man über eine Glättung des Signals mit einem Kondensator mit einer analogen Auswertung nachdenken.
Und PWM habe ich dir schon erklärt. Da reicht der popeligste 8-Bit-Timer. Beim Überlauf alle Ausgänge auf 0 und im Timer mit z.B. 30Hz prüfen, ob der PWM-Wert erreicht ist und den entsprechenden Ausgang auf High. Fertig. Sind 4 if-Abfragen, die 30x die Sekunde ausgeführt werden müssen.
Viele Grüße
Andreas
Lesezeichen