-
Artikel
AVR - Die genaue Sekunde / RTC
Stromverbrauch. Das vorgestellte Verfahren ist leider nicht direkt anwendbar, wenn man eine RTC mit einem 32,768 KHz Uhrenquarz realisieren möchte. Dieser Weg ist dann notwendig, wenn der Controller batteriebetrieben sehr lange laufen soll und durch Verwendung des Sleep Mode Strom gespart wird. Begrenzung der
vorzeichenbehafteten 16 Bit Variable in der Einheit Hz gespeichert. D.h. es kann ein Frequenzfehler von +/- 32,768 Hz korrigiert werden, das sind 1000ppm! Normale Quarze haben Abweichungen von max. 100ppm, meist viel weniger. Jede Sekunde wird der Frequenzfehler neu berechnet und in den darauffolgenden 128 Interrupts
-
Artikel
AVR-GCC-Tutorial
Wartezeit der Funktion _delay_ms() ist auf 262,14ms/F_CPU (in MHz) begrenzt, d.h. bei 20 MHz kann man nur max. 13,1ms warten. Die Wartezeit der Funktion _delay_us() ist auf 768us/F_CPU (in MHz) begrenzt, d.h. bei 20 MHz kann man nur max. 38,4µs warten. Längere Wartezeiten müssen dann über einen mehrfachen Aufruf
dann an der gewünschten Stelle in das default Skript eingefügt wird: {| SECTIONS { .flash2 : { . = MAX (ABSOLUTE(0x20000), .); PROVIDE (__flash2_start = .); . = ALIGN(2); *(.flash2.text*) *(.progmem2.data*) PROVIDE (__flash2_end = .); ASSERT (__flash2_start == __flash2_end __flash2_start >= ABSOLUTE(