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.

  • 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

  • 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!