Hallo Barthimaeus,

wir kennen uns noch von der Diskussion mit dem tiny13 (und dem Lernpaket) an der Batterie

Zitat Zitat von Barthimaeus
So, ihr AVR-GCC Cracks schüttelt jetzt warscheinlich wieder den Kopf ... bei Reichelt zwei Motortreiber vom Typ L293D bestellt, ... Jetzt wüsste ich gern wie man mit C die PWM Ports ansteuert und die Pulsdauer festlegt. ... ein klitzekleines kommentiertes Beispiel schreiben? ... Kontroller die ich zZ verwende sind attiny13 und atmega8
Leider kann ich Dir mit dem C-Code nicht helfen. Aber ich habe mit PWM´s schon ein bisschen rumgespielt. Mit der WIRKLICHEN PWM vom Controller. Für die Servos fahre ich im Prinzip auch eine PWM, ich nenn die PseudePWM, da schalte ich einen Port Timer-Interrupt-gesteuert aus und ein.

Zurück zur PWM. Wenn Dich Assembler nicht abschreckt, könnte ich Dir mal dienen, leider eben nicht in C. Aber Du hast es doch einfach - guck doch mal in Dein Franzis-Buch ("Lernpaket..") etwa Seite 100, mit dem "weichen" Blinker. Dann weisste wie das geht. Ich hab das dort gelernt. ACHTUNG: dieses Tutorial fährt immer mit 1,2 MHz. Aber die PWM fährt ja immer einen von Dir vorgegebenen ANTEIL von einem Gesamtzyklus.

Ziemlicht gut, aber anstrengend, weil alles in Englisch dasteht, sind die Handbücher der Controller. Hol Dir die doch. Die habe ich als PDF im Rechner, und zum grössten Teil auch ausgedruckt. Es ist einfach fast unmöglich, die vielen Variationsmöglichkeiten ohne diese Datenblätter (ATMEL nennt sie Datasheets) hinzukriegen.

http://www.atmel.com/dyn/products/da...?family_id=607

Die gibts da zum mega8 und zum tiny13 - aber zu allen anderen auch. Ach ja - es gibt von den datasheets eine Kurzfassung und eine lange. Nimm gleich die Langfassung - die Kurzfassung ist nur eine grobe Übersicht - zum Programmieren nicht geeignet.

Wenns noch Probleme gibt frag mich einfach. Aber wie gesagt, im Moment bin ich noch auf dem Assembler-Trip.