PWM Port invertieren

Hallo,

habe ein Problem.
Ich möchte gerne von meinem Pin 3 den PWM Wert invertieren d.h bei Wert 255=0V und bei 0=5V.

Habe in den Datenblätter des Chips nachgeschaut und folgendes eingegeben:TCCR2A |= (1<<COM2A1) | (1<<COM2A0);

aber leider ändert sich nichts.
Kann mir einer sagen was ich falsch mache?

Vielen Dank und LG

Vielleicht liege ich falsch, aber soweit ich weiß ist das softwaretechnisch nicht möglich, oder?

Wie gesagt, es kann sein dass ich mich irre...

MfG

Mir ist das auch nicht geläufig, dass man das in den Registern umschalten kann. In dem Fall würde ich eine kleine Funktion schreiben, ist jetzt rein exemplarisch:

byte invert (byte z) {
  z=255-z;
  return z;
}

Dann ruft man einfach analogWrite(invert(zahl)); auf.

Hallo das ging ja schnell.
Das könnte funktionieren, werde es später gleich mal ausprobieren.

Vielen dank erstmal

Auch würde einfach den Wert umrechnen und normal über AnalogWrite() ausgeben ohne mich weiter in die Registerprogrammierung der Timer zu vertiefen.
Grüße Uwe

Hallo, komme doch nicht weiter. Vielleicht hat jemand eine Idee wie ich meinen momentanen Code ändern kann damit ich vernüftig die Werte im Display angezeigt bekomme.

Also ich habe meine bytes die ich in 15 min Schritten einstellen kann in die Formel eigearbeitet:

inputVariable*100/255;

d.h bei den Wert 255 habe ich im Display 100% stehen.
bei den Wert 0 habe ich 0% stehen.
das war soweit i.O.

Jetzt habe ich eine Buck Konstantstromquelle dazwischen geschaltet und die LED Beleuchtung ist bei dem Wert 255 aus ( halt invertiert) im Display wird aber 100% angezeigt, somit hatte ich gedacht ich invertiere den Port und alles ist gut.
Oder hat kennt jemand evtl.ein Code wie man ein Balken anzeigen lassen kann ( vom Wert:255 -->0 zunehmender Balken).

wie sth77 bereits sagte:

pwmwert    //von 255 bis 0
percent      // von 0% bis 100%

percent = 100 - pwmwert*100/255
oder 
percent = (255-pwmwert)*100/255

Grüße Uwe