ich persönlich würde ebenfalls die timervariante präferieren ... und mal eine frage ... WO ist das problem mit den wechselnden pulsbreiten ?
du setzt den timer (im CTC modus) so auf, dass er ca. jede 1ms einen takt hochzählt .... im interrupt für den compare holst du dir dann die nächste pulslänge aus einem array oder so und toggelt einen pin deiner wahl
das dauert bei 16Mhz extern nur ca 2µS wenn du "schlampig" programmierst ^^
der timer zählt während du das CTC register änderst gerade einmal die erste millisekunde hoch und die restlichen 19/39 mS kann dein programm machen wozu du lust hast
definier mal unnötige komplexität genauer .... 4 zeilen + 1 interrupt sind was ?! komplex ? ja ist gut .. na klar ... das ist so als würde ich sagen ... fernsehn umschalten ist unnötig komplex, nur weil die fernbedienung nicht in griffreichweite liegtUnnötige Komplexität ist definitiv schlecht!
außerdem: wenn ich mich einer schlechten lösung bediene, nur weil die auf-/vorgabe es zulässt, wie soll cih mir dann einen ordentlichen programmierstil zulegen!? das ist ungefähr so als wenn cih ins fitness-center gehe und sage ... mein trainer ist nicht da, dann muss ich die hantel auch nur einmal stemmen ... fitter wirste davon sicher nicht
Lesezeichen