-
        

Ergebnis 1 bis 9 von 9

Thema: PWM bei ATmega8

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    14.04.2005
    Ort
    Gaggenau
    Alter
    35
    Beiträge
    24

    PWM bei ATmega8

    Anzeige

    Hallo zusammen....

    Habe versucht mit dem ATmega8 ein PWM Signal auszugeben. Doch mein Versuch ist bereits am Anfang gescheitert, denn der Compiler findet das TCCR2 Register nicht! Meine Vermutung ist, dass ich noch eine andere header Datei einbinden muss, aber welche? Liegt das überhaupt daran?
    Und dann noch was: An welchen Ports/Pins kann ich das Signal dann abgreifen?

    Hat vielleicht jemand ein kurzes Beispielprogramm?

    Bin für jeden Tipp dankbar........... [-o<

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Poste doch mal deinen Code. Muss es der Timer2 sein? Sonst hätte ich nen Beispiel parat.

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,
    welche header-datei hast du denn eingebunden, wenn man die io.h einbindet sollte alles nötige enthalten sein.

    hier ist die Pinbelegung zu finden:
    http://www.roboternetz.de/phpBB2/alb...php?pic_id=126
    an Pin 15 u. 16 kann man die PWM signale abgreifen.
    mfG
    HK
    /* Linux user #98697 */

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    14.04.2005
    Ort
    Gaggenau
    Alter
    35
    Beiträge
    24
    Bezüglich Code: Er ist total unvollständig. Wäre nicht sinnvoll ihn rumzuschicken, denn an ihm hab ich "rumgebastelt". Hab gar nicht gewusst dass man PWM auch ohne Timer2 Machen kann... Wäre sehr interessiert an deinem Beispiel.

    Die Datei, die ich am Anfang eingebunden hab heißt:
    .include "4433def.inc"
    Dort heißt auch kein Register TCCR2.

    Hab "io.h" nirgends gefunden. Wo krieg ich das her? Hab dafür aber was anderes gefunden: Kann ich statt des "4433def.inc" einfach das "4434def.inc" einbinden, denn da ist das TCCR2 Register drin?

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    in was programmierst Du,
    sieht nach Basic aus, damit kenn ich mich nicht aus,
    wenn, dann mach ich in C, und dafür ist die io.h
    aber hier ist es so, das in der io.h die weiteren Header-dateien eingebunden werden, also sollte es in Basic auch eine übergeordnete .inc-Datei geben die dann alle notwendigen Dateien einbindet. In C heisst sie zB. io4434.h
    mfG
    HK
    /* Linux user #98697 */

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    sieht nach Basic aus, damit kenn ich mich nicht aus,
    Es sieht mir mehr nach Assembler aus.

    Das Register TCCR2 gibt es bei AT90S4433 gar nicht, es stimmt also schon, das der Assembler nix findet.
    Da du aber einen ATMega8 programmieren willst solltest du einfach die richtige Headerdatei einbinden, dann klappt das auch
    Code:
    .include "m8def.inc"
    MfG Kjion

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    14.04.2005
    Ort
    Gaggenau
    Alter
    35
    Beiträge
    24
    Ist Assembler!!! Gut erkannt....

    Ich habe am Anfang mal die "m8def.inc" eingebunden, hat mir aber ne Fehlermeldung ausgegeben. Muss dazu sagen, dass ich nicht mehr weiß was das für ne Fehlermeldung war.

    Ich werds einfach nochmal versuchen, vielleicht lag der Fehler damals auch woanders...

    Vielen Dank bis hierhin... \/

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Hallo,
    Welchen Assembler benutzt Du ?
    Sollte das tavrasm sein, dann ist es richtig daß er bei m8def.inc einen Fehler meldet und zwar in der Zeile 321, die wegen Kompatibilität drin steht.
    Wenn Du sie löschst geht das assemblieren ohne Probleme.
    Ich benutze den avra Assembler, dem die Zeile nichts ausmacht.
    Man kann auch den gavrasm
    von Gerd Schmidt benutzen, der ist auch gut. Bei dem braucht man keine *.inc Dateien,
    die hat der Gerd in den Assembler eingebaut, welchen Chip du benutzt wird anhand der .include Zeile erkannt.
    Ein Code in Assembler, um PWM zu benutzen findest Du in meinem anderem Thread hier.
    Falls es zu unübersichtlich ist melde Dich dann schicke ich Dir was anderes.
    Gruß Sebastian

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    29
    Beiträge
    2.624
    Kleiner Tipp, benutze die Suche: "PWM Assembler" ;o)
    http://www.roboternetz.de/phpBB2/zei...ag.php?p=46466

Berechtigungen

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