Forum: Mikrocontroller und Digitale Elektronik Atmega32: PWM an PortA


von Julian W. (julian-w) Benutzerseite


Lesenswert?

Hallo,
irgendwie Blick ich mit Hardware-PWM nicht so ganz durch.

Mein Ziel ist es, mehrere verschiedene (Tastverhältniss z.B. PortC.1 = 
20%, PortC.2 = 50%) PWM-Signale am Port C auszugeben. Jedoch hab ich 
keine Ahnung, wie.

Die Timer kann ich ja auf PWM-Mode stellen, aber dann? Wie geht es dann 
weiter? Ich hab kein Register gefunden, mit dem ich dem Controller sagen 
kann, er soll das PWM-Signal am Port C ausgeben.

Daher wollte ich mal Fragen, ob mir nich einer ein konkretes, kurzes 
Beispiel in C schreiben könnte, wo ein PWM-Signal an Pin C.1 mit ein 
Tastverhältniss von 20% und an Pin C.2 eins mit 50% ausgegeben wird.

Wäre über Hilfe dankbar.

MfG
Julian

von hans (Gast)


Lesenswert?

Erst schreibst du Port A, dann willst du Port C.

Geht beides Hardwareseitig nicht.

Empfehlung: Datenblatt und Tutorial !!!

http://www.atmel.com/dyn/resources/prod_documents/doc2503.pdf

(Hier steht was über die Timer drin!)

Und dann erst mit Fragen und angaben kommen (z.B. Frequenz, Anwendung
etc.)

gruß hans

von Julian W. (julian-w) Benutzerseite


Lesenswert?

Upps, hab mich im Topic verschrieben. Meine natürlich Port C.

Nunja, welche Pins kann ich denn nun für PWM nutzen?
Und wenn ich PWM am PortC haben will, muss ich doch SoftPWM einsetzten, 
oder?

von Hannes Lux (Gast)


Lesenswert?

> Nunja, welche Pins kann ich denn nun für PWM nutzen?

Die dafür vorgesehenen Pins. Du findest sie im Datenblatt Seite 2 bei 
der Beschriftung des Pinouts. Sie nennen sich OCxy, wobei x für die 
Timernummer steht (0, 1, 2, 3) und y für den Compare-Kanal des Timers 
(A/B).

> Und wenn ich PWM am PortC haben will, muss ich doch SoftPWM einsetzten,
> oder?

Ja...

...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.