-
-
Erfahrener Benutzer
Fleißiges Mitglied
Wieviel Timer hat denn nun ein atmega128?
Es ist zum verzweifeln...
Ich brauche für ein Programm 2x 16 Bit timer, und muss an 2 Ports PWM zur Verfügung haben. und am besten wär dann noch 1x 8 Bit Timer....
Im Datenblatt steht dass das ding 4 Timer hat, 2x16 Bit, 2x8 Bit... In Bascom kann man aber nur Timer0, timer1 und timer2 ansprechen...
Steht jetzt n bischen aufn Schlauch... Lügt das Datenblatt etwa? Brauch ich für PWM nen 16 Bit Timer, oder reicht ein 8 Bit Timer?
Gruss
Jan
-
Erfahrener Benutzer
Fleißiges Mitglied
Öhhh
also lt. Datenblatt hat der Mega128 4 Timer.
Für PWM sind sie alle geeignet. Was brauchst du denn?
Ein etwas verwirrter Inder
PS: ich progge in Assembler
-
Erfahrener Benutzer
Fleißiges Mitglied
mir ist grad eingefallen, das man ja notfalls auch mit "überlaufsvariablen" arbeiten kann. Sprich wenn ein 8 Bit Timer 8 mal übergelaufen ist, dann speichert man das einfach in einer variable... Dann ädert das an der Auflösung des Timers ja auch nichts...
Also für PWM braucht man ja definitiv 16 Bit, so stehts ja auch im datenblatt... Checke dann nur noch nicht, wie die Jungs auf 6 PWM Channels kommen (16 Bit) beziehungsweise 2x 8 Bit PWM noch dazu... Kann mir jemand das genauer erläutern wie sich das verhält?
Gruss aus dem Norden
Jan
-
Erfahrener Benutzer
Fleißiges Mitglied
16 Bit für PWM????
wo haste denn die Weisheit her????????
Ich hab nen 8 Kanal PWM mit 7 Bit am laufen.
Erfordert natürlich etwas Hirnschmalz
-
Erfahrener Benutzer
Fleißiges Mitglied
@derinder
Hmm, naja also 2x PWM mit einer 8 Bit Auflösung reichen denke ich aus, besser natürlich 10 Bit...
Wichtig sind für mich die Timer, weil ich was recht Zeitkritisches steuern muss... im Timer-overflow werden dann einfach nur Ausgänge wieder ausgeschaltet. Nur blöderweise in einer Reihenfolge die nicht vorhersehbar ist, und die Zeiten, wie lange sie eingeschaltet werden müssen ist auch nicht festgelegt. Daher ist es am einfachsten, wenn man 3 Timer dafür hat.
Gruss
Jan
-
Erfahrener Benutzer
Fleißiges Mitglied
Ok Ok,
ich bin von einer "normalen" Motorsteuerung ausgegangen
Also mit Timer1 kannst du Problemlos zwei 16Bit PWM Aufbauen, für einen Dritten mit der gleichen Auflösung müsstest du es tatsächlich in Software machen, ob das möglich ist richtet sich natürlich nach deiner Anwendung, sprich der verfügbaren Rechenzeit.
Wenn du allerdings mit 8 Bit auskommst ist es kein grosses Problem es mit einen 8 Bit Timer zu machen (natürlich abhängig von der PWM-Frequenz)
-
Erfahrener Benutzer
Fleißiges Mitglied
@derinder
Hmm, nur versteh ich dann das datenblatt noch nicht. Weil da ist die Rede von 2x 16 Bit und 2x8 Bit Timern... im Bascom gibs nur 3 Timer, 2x8 Bit, 1x 16 Bit... Mit Timer1 kann man beim ATMEGA128 insgesamt 3 PWM-Kanäle steuern...
Die Frage ist jetzt, wo ist der 2. 16 Bit Timer wenn ich einen für die PWM-Kanäle benutze grml...
Gruss
Jan
-
Erfahrener Benutzer
Fleißiges Mitglied
Hab da was gefunden:
http://www.grote.net/bascom/msg18022.html
also timer3 gibt es auf jedenfall, nur kann Bascom wohl da nicht mit um. Würde dann gern timer3 als PWM Timer verwenden. Kann mir jemand sagen wie ich die Register manuell setzen kann?
Gruss
Jan
-
Hallo Forum,
Hab gestern abend durch ausprobieren rausgefunden, das man in Bascom timer3 benutzen kann. Es wird zwar nicht "highlighted" hervorgehoben und im Simulator gehts auch nicht, wenn man den Quellcode aber auf den Controller spielt, scheint es wunderbar zu funktionieren.
Dann ist hiermit das Problem ja auch gelöst
Besten Dank und Gruss
Jan
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen