Archiv verlassen und diese Seite im Standarddesign anzeigen : Wieviel Timer hat denn nun ein atmega128?
boeseTURBO-CT
02.11.2004, 15:12
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
DerInder
02.11.2004, 15:28
Ö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 :mrgreen:
boeseTURBO-CT
02.11.2004, 15:28
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
DerInder
02.11.2004, 15:31
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 :)
boeseTURBO-CT
02.11.2004, 15:47
@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
DerInder
02.11.2004, 16:02
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)
boeseTURBO-CT
02.11.2004, 16:39
@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
boeseTURBO-CT
02.11.2004, 17:02
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
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.