Die Sekunde wechselt kurz nach der fallenden Flanke des 1Hz SQW.
Nach dem Setzen der Uhrzeit beginnt eine neue Sekunde. Das SQW-Signal geht sofort L.
Benutzt man die MD_DS3231-Bibliothek so dauert RTC.writeTime() 1235μs. Darin ist die Verarbeitung des einen Interrupts durch die SQW-Flanke enthalten.
Die SQW-Flanke H→L passiert 550μs bevor RTC.writeTime() endet, also 685μs nach dem Zeitpunkt des Aufrufs von RTC.writeTime().
Die folgende erste SQW-Flanke L→H ist 200μs kürzer als gewöhnlich.
Die erste Sekunde endet also 1235-550+499800+500000=1000485μs nach dem Zeitpunkt des Aufrufs von RTC.writeTime().
Die Uhr läuft demnach <500μs nach dem Zeitpunkt des Aufrufs von RTC.writeTime() mit der neuen Zeit los.
LPT80A
Photocurrent typ. 3200μA at 1000lx std. light A and Vce 5V.
We charge the 100nF capacitor using 3.3V via a 1k resistor, then we use CMP0 to measure the discharge time until voltage drops below 18/64VCC-30/2mV = 0.9V.
A current of 1mA discharges 100nF at ~10μs/V.
At 150lx we have a photocurrent of 0.5mA. This implies that we can charge the capacitor to 2.8V (as then the current through the 1k has dropped to 0.5mA). Discharge of 1.9V (from 2.8V to 0.9V) by 0.5mA takes 10μs/0.5*1.9 = 38μs.