Ich habe mich vor kurzem auch mal mit dem Thema PWM beschäftigt.
Bin zuerst auch daran gescheitert dass waitus nur Konstanten verwendet und habe es dann mit waitms probiert.
Hier mein Ergebnis (für einen Tiny13V):
Code:'============================================================ ' ' ************************************ ' *** *** ' *** Dimmendes Blinklicht *** ' *** *** ' ************************************ ' ' µC: ATtiny13 ' +Ub: 3,00 V ' ' '============================================================ $regfile = "ATtiny13.DAT" $crystal = 128000 'Frequenz des internen 128kHz-Oszillators Config Portb = &B00011000 'Pinb.3 und 4 auf 'Ausgang', Rest auf 'Eingang' schalten Portb = &B11100111 'Pullups zuschalten, außer für Pinb.3 und .4 Stop Adc 'A/D-Wandler abschalten, um Strom zu sparen Stop Ac 'Analog-Komparator abschalten, um Strom zu sparen Dim A As Byte Dim B As Byte Dim Stufen As Byte Stufen = 20 Do For A = 0 To Stufen B = Stufen - A Gosub Pwm Next For A = Stufen To 0 Step -1 B = Stufen - A Gosub Pwm Next Waitms 1000 Loop Pwm: Portb.3 = 1 Waitms A Portb.3 = 0 Waitms B Return End







Zitieren

Lesezeichen