- 12V Akku mit 280 Ah bauen         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Problem mit Timer1 und Compare...

  1. #11
    Gast
    Anzeige

    Praxistest und DIY Projekte
    Heyhey, der Typ wollt mir doch nur helfen!

    Also, ich probiers mal
    Unter welchem Aspekt in der Hilfe haste das gefunden? Was bedeutet das register in deinem code?

  2. #12
    Murus
    Gast
    Also, ich hab jetzt mal noch an dem Zeug rumgeprügelt und habs nicht hingekriegt... In der Bascom Hilfe finde ich die Compare-Funktion nur in Interaktion mit Pins, und das will ich ja net....

    Hilfeeee.. Ich versteh auch den obigen Codeschnipsel net... Der Simulator scheint mir da auch etwas "komisch" zu sein, ich baus mal mit zwei Leds real auf, aber ich brauch den Code...

    Herzliche Grüsse
    Mario

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Das Register läuft ja irgendwann über wenn du immer nur addierst.
    Vielleicht fehlt ein IF Wert is zu groß, dann Wert = 0 ???

    Funktioniert nicht ist ja nicht sehr aussagekräftig.

  4. #14
    Murus
    Gast
    Das mit dem Überlaufen regelt Bascom selber. Er schmeisst den "Rest" weg und beginnt mit dem vorigen Wert wieder von 0.
    Aber das ist ja nicht das Problem, er bringt mir (im Sim) ja nicht mal den ersten Interrupt, bei dem er mir aufm LCD etwas anzeigen soll.
    Ich hab einfach den Code nicht.
    Wie muss ich jetzt Timer1 initialisieren?
    Wie schreibe ich die Doppelregiser (unter Bascom)
    Was gibt es sonst noch zu beachten?

    Herzlichen Gruss
    Mario

  5. #15
    Murus
    Gast
    Also, ich hab jetzt mal ein Testprogramm gebaut. Eine Led soll über den Compare-Interrupt blinken.
    Hier ist mal der Code:

    $regfile = "m8def.dat"
    $crystal = 1000000
    Ddrd.7 = 1
    Portd.7 = 0
    Config Timer1 = Timer , Prescale = 8
    Enable Interrupts
    On Compare1a An

    Dim X As Long

    X = 1500

    Compare1a = X

    Enable Timer1
    Do
    Loop

    An:
    Disable Interrupts
    X = X + 1500
    Compare1a = X

    Toggle Portd.7
    Enable Interrupts
    Return

    End

    Doch: die Led bleibt dunkel!
    Was ist falsch?
    Könnt ihr mir da weiterhelfen?

    Herzlichen Gruss
    Mario

  6. #16
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Was hast du eigentlich vor? PWM? Comapre=vergleichen. Was wird denn verglichen?

    Das mit dem Überlaufen regelt Bascom selber.
    Geht ja garnicht. Wenn das Programm im AVR ist hat Bascom damit ja nichts mehr zu tun.

  7. #17
    Murus
    Gast
    Jo, der AVR regelt den Überschuss.
    Ich vergleiche den Wert im OCR1a-Register mti dem aktuellen Zählerstand von Timer1. Ist er gleich, soll ein Interrupt kommen und der Stand im OCR1a neu gesetzt werden.
    Nur geht das nicht, da ich die Befehle nicht kenne.

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Solar Speicher und Akkus Tests