Der Mega32 hat 4 Hardware-PWMs also kannst Du auch noch an 2 anderen Pins eine PWM bekommen( ich glaub es waren PortB.3 und PortD.7). Wenn Du aber an jedem belibigen Pin ne PWM haben willst mußt die diese in Software erzeugem.
Hallo,
ich wollte mal fragen ob ich ein PWM Signal auch anderen Pins, nicht nur pind.4 und pind.5 (beim At-Mega32) ausgeben kann, es also auch an anderen Pins weiterleiten kann?
Ich bin mir nicht sicher aber es geht ja wohl nur an OC1A und OC1B.
Wenn ich es an einen anderen Pin haben will muss ich dann das PWM Signal Softwaremässig erzeugen?
Danke und Gruß aus Düren bei Aachen,
Involut
Der Mega32 hat 4 Hardware-PWMs also kannst Du auch noch an 2 anderen Pins eine PWM bekommen( ich glaub es waren PortB.3 und PortD.7). Wenn Du aber an jedem belibigen Pin ne PWM haben willst mußt die diese in Software erzeugem.
Hi Danke für die info.
ich würde halt gerne dieses dual Motorteiber Board von Robotikhardware an einem Port betreiben und ein Pfostenstecker Flachbandkabel nehemen.
Mit port d.5 und d.7 müsste das hinkommen...
Gibt es einen Befehl (evtl. mit Timerconfig?) um an d.7 PWM zu erzeugen?
Und gibts es auch einen einfachen Befehl um software PWM zu erzeugen so dass man während das pwm Signal anliegt weitere befehle ausführen kann.
Ich kann mir das nur so vorstellen dass man einen pin schnell von 0 auf 1 umschaltet aber dann kann ich während dessen ja nichts anderes machen, oder?
Danke und Gruß aus Düren bei Aachen,
Involut
Wieso? nur beim Umschalten kannst du nix anderes machen, dazwischen schon. Das muss natürlich per interrupt geschehen
D.7 gehört zu Timer2 also schau Dir mal "config timer2" an.Zitat von Involut
Das es dazu in Bascom einen Befehl gibt währe mir neu.Wenn Du die Soft-PWM mit nem Interrupt erzeugst kann dein Programm auch noch andere Sachen machen, der Nachteil ist das deine PWM-Frequenz weniger wird.Zitat von Involut
https://www.roboternetz.de/wissen/index.php/Pwm
https://www.roboternetz.de/wissen/in...Bascom_und_PWM
Hi, vielen Dank!
Ich habe mak in die Hilfe geguckt und denke dass ich den timer2 so konfigurieren sollte:
Config Timer2 = Pwm , Async = On , Prescale = 128
Nur finde ich nicht wo ich den pwm Wert dan Abrufe (wie compare1a= X, bei timer0)?
Gibts da was vergleichbares?
Danke und Gruß aus Düren bei Aachen,
Involut
Ich glaube nicht das Async=on sein soll den warum sollte der Timer2 asynchron zum Prozessortakt laufen.
compare1a ist für Timer1...also sollte compare2 für Timer2 sein
Schau hier mal im Forum, das Thema hatten wir schon. Die verschiedenen Timer haben verschiedene Registernamen, teilweise auch zwei Register, wenn mehr als 8 Bit. Die Namen findest du im Datenblatt, Bascom kann die auch nutzen, teilweise siehts aber im Code-Editor nicht richtig aus (wird nicht gefärbt).
Vielleicht PWM2 PWM2A PWM2B...
Ja nee, das is bei allen Chips anders. Je nach Bit-Zahl, Zusatzfunktionen usw.
Man findet die Namen hinten im Datenblatt nahe denen die man schon kennt.
Beim Mega8 wären das z.B.:
Ocr2 / Ocr1al / Ocr1bl
Lesezeichen