Rosenthal
14.10.2005, 10:34
Hallo, ich habe eine (eventuell im voraus schon mal dumme) Frage zu OCR1A.
Ich erzeuge mit Hilfe eines PWM-Signals über eine RC-Kombination eine Sinusschwingung.
Jetzt meine Frage. In dem Programm gibt es ein Array mit 128 Feldern. In diesen Feldern stehen Werte von 0 bis 126.
unsign char sin_wert[128]={70,74,77,...,124,125,126,...,125,124,122,...,3,2 ,1,0,0,0,1,2,3,...70}
in der interuptroutine wird OCR1A der Wert zugewiesen:
OCR1A =(sin_wert[wert++]);
wert++;
if(wert>=126)
wert=0;
Was macht eigentlich OCR1A. Gibt er nur einen "Peak" mit unterschiedlichen Wartepausen aus, oder ändert sich die Pulslänge
||_|||__||||__|||||||||_||||__|||_|| usw. oder
._...__...__....._____....__....__...._
|.|_|..|_|....|_|..........|_|....|_|...|_|..|_
wie sieht denn das PWM-Signal von OCR1A überhaupt bei unterschiedlichen Werten aus?
Etwa so?:
Für "0"......________
..................___
für "64".....|......|____
.................._______
für "128"...|..............|
Ich habe leider kein Oszi zur Hand, sonst würde ich es mir einfach mal anschauen.
Danke schon mal
Ich erzeuge mit Hilfe eines PWM-Signals über eine RC-Kombination eine Sinusschwingung.
Jetzt meine Frage. In dem Programm gibt es ein Array mit 128 Feldern. In diesen Feldern stehen Werte von 0 bis 126.
unsign char sin_wert[128]={70,74,77,...,124,125,126,...,125,124,122,...,3,2 ,1,0,0,0,1,2,3,...70}
in der interuptroutine wird OCR1A der Wert zugewiesen:
OCR1A =(sin_wert[wert++]);
wert++;
if(wert>=126)
wert=0;
Was macht eigentlich OCR1A. Gibt er nur einen "Peak" mit unterschiedlichen Wartepausen aus, oder ändert sich die Pulslänge
||_|||__||||__|||||||||_||||__|||_|| usw. oder
._...__...__....._____....__....__...._
|.|_|..|_|....|_|..........|_|....|_|...|_|..|_
wie sieht denn das PWM-Signal von OCR1A überhaupt bei unterschiedlichen Werten aus?
Etwa so?:
Für "0"......________
..................___
für "64".....|......|____
.................._______
für "128"...|..............|
Ich habe leider kein Oszi zur Hand, sonst würde ich es mir einfach mal anschauen.
Danke schon mal