Hallo, der ATMega8 hat 3 PWMs, der ATMega32 hat 4 PWMs und der ATMega128 sogar 8 PWMs g. Wie kriege ich alle Timer/PWMs gleich? Also ich brauche die PWMs auf allen ATmegas gleich. Als Beispiel beim ATMega8 PWM_WERT = 128; OCR1A = PWM_WERT; OCR1B = PWM_WERT; OC2 = PWM_WERT; Ich kriege bei den oben genannten Megas lediglich die PWM unter OCR1A und OCR1B zum laufen. Die andere garnicht. Ich habe gesetzt, gemacht getan, nichts. Entweder läuft die PWM unter OCR1A und OCR1B oder es geht garnicht. Ich könnte mir natürlich auch einfach einen PWM Controller kaufen. Da ich hier aber noch hunderte ATMegas rumliegen habe kann ich diese noch als PWM Controller einsetzten. Haben zwar dann mehr unbenutzte PINs und werden sich mehr als alles andere langweilen aber so kriege ich die wenigstens Weg ;) Da ich 12 PWMs brauche und am besten per I2C ansprechbar bietet sich das nunmehr an. Allerdings kriege ich nicht alle PWMs auf den AVRs zum laufen. Also es müssen einfach alle Timer auf der höchsten, vom kleinsten WErt möglichen BIT laufen. Also ich glaube 8Bit können alle Timer der AVRs somit müsste dann jede PWM mit 8Bit Phase Korrekt laufen. Beim ATMega128 kommt noch dazu das da 2 PWMs auf einem PIN liegen, und zwar auf PIN PB7. Daraus würde ich jetzt schließen das dieser nur "nutzbare" 7 PWMs hat. Richtig? Danke euch schonmal.
Gast
#3839817
Hi
>und der ATMega128 sogar 8 PWMs g.
Damm musst du ein anderes Datenblatt haben. In meinem steht:
6 PWM Channels with Programmable Resolution from 2 to 16 Bits
MfG Spess
Gast
#3839827
Tobias N. schrieb: > Als Beispiel beim ATMega8 > > PWM_WERT = 128; > > OCR1A = PWM_WERT; > OCR1B = PWM_WERT; > OC2 = PWM_WERT; > > Ich kriege bei den oben genannten Megas lediglich die PWM unter OCR1A > und OCR1B zum laufen. Die andere garnicht. Wenn das alles an Programm ist reicht es ja auch nicht um PWMs zum Laufen zu kriegen.
In meinem steht Two 8-Bit PWM Channels 6 PWM Channels with Programmable Resolution from 2 to 16 Bits das macht bei mir ingesammt 8. Und wenn ich auf dem Datenblatt mir die PINs ansehe dann zähle ich 7 PWMs mit einem eigenen PIN und zwei PWMs auf einem PIN. Das ist mein DB: http://www.atmel.com/images/doc2467.pdf
Gast
#3839831
Vermutlich hat er gar kein Datenblatt. Denn da stünde drinn, wie man die PWMs an laufen bekommt. Oliver
Das ist mir schon klar. Das war nur die erklärung dazu.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
das Klappt mit OCR1A und OCR1B aber nicht mit OC2. Sobald ich den OC2 in den registern einstelle geht garkeine PWM mehr.
Oliver schrieb: > Vermutlich hat er gar kein Datenblatt. Denn da stünde drinn, wie man die > PWMs an laufen bekommt. > > Oliver Schieb dir deinen Kommentar sonst wo hin.
Tobias N. schrieb: > aber nicht mit OC2. Sobald ich den OC2 in > den registern einstelle geht garkeine PWM mehr. Wenn du Timer 2 nicht initalisierst, wird aus OC2 bis zum Ende der Zeit auch nichts rauskommen. > DDRB = 0x06; // Set Port PB1 and PB2 as Output Du solltest dann noch PB3 als Ausgang konfigurieren.
Gast
#3839845
Tobias N. schrieb: > . > . > . > das Klappt mit OCR1A und OCR1B aber nicht mit OC2. Sobald ich den OC2 in > den registern einstelle geht garkeine PWM mehr. Schade. Kann leider nix dazu sagen :(
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.