Bascom RTC Sekunde abfragen

Gast #3550335
Lesenswert?

Hi,

ich habe mir eine RTC mit dem DS1307 gebaut, die auch weinwandfrei 
funktioniert.

Jetzt möchte ich damit eine LED über die PWM hochdimmen. Und zwar soll 
einstellbar jede Sekunde, jede 2., jede 3... Sekunde der PWM-Wert um 1 
erhöht werden. Also so das z.b. nach 256 Sekunden die volle Helligkeit 
erreicht ist. Allerdings fehlt mir hier ein kleine Denkanstoss, wie ich 
nun den Sekundentakt von der Uhr abfangen kann.

Mein dazu bereits entwickelter Code funktioniert nicht

seczaehler = 1
secteiler = 1
Secbefore = _sec
Do
If Secbefore < _sec Then Incr Seczaehler
If Seczaehler = Secteiler Then
    Secbefore = _sec
    Seczaehler = 1
    Incr Wertpwm
    Pwm1a = Wertpwm
End If
Loop

Da secbefore natürlich nicht jede Sekunde erhöht wird, sondern immer 
dann wenn das Programm innerhalb einer Sekunde hier vorbei kommt. Und 
eine Abbruchbedingung bei PWM=255 fehlt hier auch noch.

Meine Idee wäre, dass ein Interrupt jede Sekunde die Variabel erhöht, 
allerdings hab ich damit noch nicht gearbeitet und habe keine Ahnung wie 
ich den jede Sekunde auslösen kann. Oder gibt es da einen bestimmten 
Befehl der immer ausgeführt wird, wenn sich die _sec (Aktuelle Sekunde 
der RTC) geändert hat?

Ich hoffe Ihr könnt mir einen kleinen Denkanstoss geben.

Gruss Sebastian
Gast #3550357
Lesenswert?

ich hab die rtc nicht extra gebaut um an den sekundentakt zu kommen, 
sondern um die leds auch je nach uhrzeit dann hoch oder runter dimmen zu 
lassen (ist für ne aquarienbeleuchtung)
deshalb würde ich gerne auch hier den sekundentakt für das hoch oder 
runterdimmen abfragen um den code nicht mit wait-anweisungen 
vollzupflastern.
gruß sebastian

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren