Bascom Software PWM spielt nicht mit

  • Muss nach längerer Pause wieder mal ein PWM-Signal erzeugen. Ganz einfach von 0 auf 100%.
    Leider funktioniert meine Software nicht, habe wahrscheinlich den falschen Ansatz.

    Angenommen, ich will eine LED an PB1 in Hundert Stufen hochdimmen. Müsste das hier nicht funktionieren?

    Über Eure Hilfe würde ich mich freuen!

  • In Bascom sollte es dann eine

    Code
    Do
    .... Code
    Loop

    sein.

    Gruß Flo

    edit:
    Für mich schaut das Ganze übrigens eher nach Hardware-PWM aus.

    Code
    Config Timer0 = Pwm , Compare A Pwm = Clear Down , Prescale = 1
    Enable Timer0
    Start Timer0

    Jetzt fällt mir sogar nochmal was auf:

    Code
    While A < 100
    A = A + 1
    Pwm0b = A
    Waitms 1000

    Die PWM hat mit diner Konfiguration 8-Bit. Damit ist die volle Helligkeit bei 255 erst erreicht.

    Gruß Flo
    ----------------------------

    2 Mal editiert, zuletzt von stromflo (4. Januar 2014 um 16:19)

  • Ein großes Danke für Eure Hilfe!


    Hast recht, muss bis 255 gehen, das habe ich übersehen, danke!

    dachte eigentlich eine Schleife bräuchte es nicht dafür, while-code-wend bildet ja quasi Eine. Habe es trdm mal mit Do-Loop probiert, bringt leider auch nichts.


    Die LED an PB1 leuchtet ständig :huh:

  • im dem BASCOM-Code sind ja ein Haufen Fehler, probiere es mal mit dem hier:

    und du muss dir im klaren sein das die LED hoch fadet und an bleibt.

    mfg
    paralux

    May the Force be with you

  • Endlich wieder Zeit für eine Kurze Rückmeldung :)

    Es funktioniert wieder, mein Denkfehler lag in der Konfiguration der Timer.
    Es muss also lauten

    Code/

    Config Timer0 = Pwm , Pwn = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1

    Code/


    Vielen Dank für eure Hilfe!