Forum: Mikrocontroller und Digitale Elektronik fast pwm in bascom


von harry (Gast)


Lesenswert?

auch mal 'ne frage:

kann ich die pwm-frequenz von timer1 ausser mittels prescale verändern?

ist es möglich, den timer1 nicht bis overflow durchlaufen zu lassen,
sondern z.b. bei wert 25000 wieder bei 0 anfangen zu zählen?

danke, harry

von Peter D. (peda)


Lesenswert?

Ja, Du kannst mit einem PWM-Match Register beim LPC2106 auch den
PWM-Timer zurücksetzen lassen.


Peter

von harry (Gast)


Lesenswert?

ooops,

ohje, ich denk hier an avr mega8.
lpc2106 sagt mir nix - hab ich da was nicht gelesen, was ich hätte
lesen sollen?

gruss, harry

von Peter D. (peda)


Lesenswert?

"ohje, ich denk hier an avr mega8."

Gedanken lesen kann ich leider nicht.
Hättest es vielleicht hinschreiben sollen.


Peter

von Axel (Gast)


Lesenswert?

@peter
"Fast - pwm in bascom"
gibt es den bascom-compiler auch für andere Controller?!?
Seid lieb zueinander. Ist doch klar, was gemeint war.
Aus dem Urlaub zurück
AxelR.

von Peter D. (peda)


Lesenswert?

@Axel,

"gibt es den bascom-compiler auch für andere Controller?!?"

warum denn nicht ?
Zumindest gibt es Bascom auch für die 8051-er.


"Ist doch klar, was gemeint war."

Eben nicht.
Es unterscheiden sich die T1 der verschiedenen AVRs schon sehr.
Deshalb hätte nur AVR in diesem Fall auch nicht gereicht (hätte
höchstens den LPC ausgeschlossen).


Peter

von Axel (Gast)


Lesenswert?

ICH WILL ZURÜCK NACH GRIECHENLAND

macht mal alle...

von harry (Gast)


Lesenswert?

hier im forum geht's doch fast immer um avr's, also dem gesetz der
serie folgend...müsste schon halbwegs klar sein, aber egal.
war eher so 'ne grundsätzliche frage, ich hab mir halt dusseligerweise
den timer2 'verbaut', nu muss ich die pwm-freq des timer1 erhöhen oder
bahnen 'umleiten'. ich ging halt irrigerweise davon aus, dass das rad
nicht zum 1000. mal neu erfunden wird, sondern eine grundsätzliche
funktionsweise der pwm-erzeugung bei allen controllern in etwa
identisch ist, wie beim auto, jedes hat 'nen motor, alle 'nen
anderen, aber grundsätzlich erstmal kolben...

gruss, dank, frohes schmoren, harry

von Peter D. (peda)


Lesenswert?

Lange Rede, kurzer Sinn:

Ein Blick in das Datenblatt GENAU DES CHIPS, DEN MAN EINSETZEN WILL,
hätte geholfen.

Alternativ hätte sich vielleicht, wenn man gleich GENAU DEN CHIP, DEN
MAN EINSETZEN WILL genannt hätte, ein D*** gefunden, der für Dich ins
Datenblatt schaut.


Peter

von Axel (Gast)


Lesenswert?

@harry
im tccr1a register must du 0b11110000 hineinschreiben.
also die oberen 4 Bit setzen, so bekommst Du auf OC1A und B
PWM-Signale, die beiden unteren Bits (0 und 1)sorgen zusammen mit Bit 3
und 4 aus dem tccr1b-register für de richtigen PWM-Mode (hier Mode 8).
im tccr1b register kommt daher 0b00010xx1 rein.
bit 1 und 2 (xx) sind abhängig vom Vorteiler, bit 0 stoppt timer1.
Über das Register ICR1 kannst Du jetzt die pwm-Frequenz einstellen.
natürlich ändert sich jetzt auch die Auflösung der PWM-Frequenz.
Ich habe jetzt nur im Datenblatt vom mega16 nachgeschlagen (S.104-112),
sollte aber mit dem 8ter genauso gehen.
Mahlzeit
AxelR.

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.