Wert aus OC1A anderem Port zuweisen?

Gast #3111812
Lesenswert?

PWM wird normalerweise in einem, vom normalen Programm, abgeschlossenen 
Bereich generiert.
Eine Abfrage in der Hauptschleife müsste eigentlich möglich sein, 
allerdings nicht mit einer einfachen Zuweisung.
Es können aber kleine Phasenfehler auftreten, da PWM und Abfrage 
asynchron stattfinden. Ganz wichtig, wenn Unterbrechungen im Hintergrund 
laufen oder das Programm richtig zu tun hat.
Unterbrechungen finden nach Murphy immer im ungünstigsten Falle statt.
Vieles dürfte von der tatsächlich generierten Frequenz abhängen.
#3111922
Lesenswert?

Joe B. schrieb:
> Was soll das denn bringen? Wie willst du einen 8 Bit Wert einem Pin
> zuweisen?

Hier ist wohl der compare output pin (OC1A) und nicht das compare 
register (OCR1A) gemeint. Ich wüsste nicht, dass man den (bei den AVRs) 
umbelegen kann, ist per hardware so vorgegeben.

Ein quick-and-dirty workaround wäre, einen OCR1A Interrupt auslösen zu 
lassen und den gewünschten Pin in der ISR zu manipulieren. Ob das gut 
funktioniert kommt auf deine Anforderung und die Auslastung des 
Controllers an.
Gast #3112279
Lesenswert?

Schnellste und wohl auch beste Lösung währe es deinen "zielpin" PORTD7 
auf eingang zu stellen und Extern einen Draht Zum Ausgangspin OC1A zu 
legen.
Dadurch verlierst du nur einen Pin dafür keine Rechenleistung und du 
bekommst keine PWM Fehler.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren