-         
+ Antworten
Ergebnis 1 bis 9 von 9

Thema: Wieviel Timer hat denn nun ein atmega128?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.03.2004
    Beiträge
    137

    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

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.11.2003
    Beiträge
    136
    Ö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
    Gruß
    -=jens=-

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.03.2004
    Beiträge
    137
    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

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.11.2003
    Beiträge
    136
    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
    Gruß
    -=jens=-

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.03.2004
    Beiträge
    137
    @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

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.11.2003
    Beiträge
    136
    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)
    Gruß
    -=jens=-

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.03.2004
    Beiträge
    137
    @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

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.03.2004
    Beiträge
    137
    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

  9. #9
    Gast
    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

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •