- Labornetzteil AliExpress         
Ergebnis 1 bis 7 von 7

Thema: Timer2 und PWM mit Mega8 (bzw.Timer1)?

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    58
    Beiträge
    576

    Timer2 und PWM mit Mega8 (bzw.Timer1)?

    Anzeige

    Praxistest und DIY Projekte
    Hallo Leute

    Spiele mich gerade ein bischen mit PWM und dem Mega8 herrum.

    PWM mit Timer1 läuft gut, aber wie bekomme ich das mit Timmer2 hin ?

    folgender Code:
    ------------------------------------------
    $regfile = "m8def.dat"
    $crystal = 4000000

    Config Pinb.3 = Output 'Pin 17

    Config Timer2 = Pwm , Pwm = On , Compare Pwm = Clear Up , Prescale = 1

    Do

    Timer2 = 100

    Loop

    End
    ----------------------------------------

    Habe so aber keinen Ausgang am Pin 17 ??!


    PWM = 8, wie beim Timer1, geht nicht, nur PWM=ON..... dürfte also so passen.

    Wie spreche ich dann den Compare von Timer2 an ?

    Bei Timer1 geht es ja mit Compare1a oder 1b=100.
    Beim Timer2 geht kein Compare = 100 oder compare2= 100
    (Da komt dann ein Error)

    Bei der Schreibweise : Timer2=100 kommt zumindest kein Error ,
    weis aber nicht, ob ich so den Compare von Timmer2 anspreche ?

    Wie bekomme ich das PWM vom Timer2 auf den Pin17

    Habe diesen Beitrag durchgelesen:
    https://www.roboternetz.de/phpBB2/vi...ght=timer2+pwm
    Kenne mich aber nicht so bei den Registern aus, um das uaf den Mega8 anzuwenden ?

    Ist das ein Bug von Bascom ???

    Wer kann mir da helfen ?!
    -----------------------------------

    Ps.: nochwas: zu Timer1

    folgender Code:
    ---------------------------------
    $regfile = "m8def.dat"
    $crystal = 4000000


    Config Timer1 = Pwm , Pwm =8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale =1

    Do
    Compare1a = 100
    Compare1b = 100
    Loop

    End
    -------------------------------

    Wenn ich den PWM von Timer1 auf den Pin 15 ausgeben will, reicht eigentlich der obere Code.
    Angeblich braucht man die Pins nicht extra definieren oder auf Output schalten.

    Leider geht das aber nur mit Compare1a, also Pin 15
    Sobald ich aber den Compare1b auf Pin 16 verwenden will, geht es nur, wenn ich vorher den Pin auf Output schalte! ?!
    Also : Config Pinb.2 = Output

    Ist das ein Bug von Bascom oder ist das OK ?

    Mit freundlichen Grüssen, aus Österreich

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    54
    Beiträge
    1.258
    Hallo Roberto,
    Wie spreche ich dann den Compare von Timer2 an ?
    mit < Ocr2 = Variable >
    geht es nur, wenn ich vorher den Pin auf Output schalte! ?!
    Also : Config Pinb.2 = Output
    ja, ist bei mir genauso. Ich finde es aber ok., daß die Datenrichtung vorher festgelegt wird. Deswegen wäre es eher ein Bug, wenn du es nicht machen mußt.
    Gruß, Michael

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    58
    Beiträge
    576
    Hallo Michael.
    Toll, super , juhuuuuuu.
    Es geht !

    Kann ich dann für den PWM mit allen Timern immer das OCR..
    verwenden ?!

    Üblich ist es ja mit Compare1a= Variable (für Timer1)



    Danke

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    54
    Beiträge
    1.258
    Hallo Roberto,
    Kann ich dann für den PWM mit allen Timern immer das OCR..
    verwenden ?!
    pühh, weiß nicht, ist doch egal? Hauptsache es funktioniert!
    Üblich ist es ja mit Compare1a= Variable (für Timer1)
    ja, aber nur für Timer1. Du kannst aber statt Compare1a(b) auch Pwm1a(b) nehmen. Das läßt sich schneller schreiben
    Gruß, Michael

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    58
    Beiträge
    576
    Hallo

    Habe es jetzt das ocr mit Timer1 probiert, geht aber nicht.
    Komisch ....

    (Du warst aber beim Antworten jetzt schneller )

    Ja, PWM1a könnte ich auch nehmen

    Woher weisst du das eigentlich mit dem OCR ?
    Steht das irgendwo?! (kann leider kein englisch)

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2004
    Ort
    durmersheim international
    Alter
    64
    Beiträge
    159
    hi,

    beim mega8 hab ich auch schon festgestellt, dass die pwm-ausgabe mit prescale=1 nicht geht, nimm spasseshalber mal 'nen anderen wert.
    wenn's dann geht stimmt was mit Bascom nicht, d.h. er setzt die falschen register oder die richtigen mit falschen werten. abhilfe: das register direkt beschreiben, hat bei mir gefuntzt.
    gruss, harry

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    58
    Beiträge
    576
    Bei mir geht Prescale=1 schon.

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad