Di questo componente esistono molti tutorial su Internet e, cosa abbastanza incredibile, sono spesso molto differenti tra di loro. In alcuni casi viene proposto di rimuovere delle resistenza della schedina dell'RTC, in altri casi l'alimentazione deve essere collegata ai 5 Volts...in questo caso viene presentato l'esempio riportato da
questo sito che per il mio caso ha funzionato
La pedinatura e' la seguente
Raspberry -> RTC
VCC 3 Volt -> VCC
GND -> GND
GPIO #21/27 -> CLK
GPIO #18 -> DAT
GPIO #17 -> RST
(il sito originale indica di inserire delle resistenze da 10 KOhm su DAT e VCC .. nel mio caso ha funzionato senza necessita' di questi componenti)
per usare questo componente si deve utilizzare il programma
rtc-pi.c che si scarica da
questo link
Dato che utilizzo la Raspberry 2 devono essere modificato il file
rtc-pi.c come segue
si devono commentare (o cancellare alcune righe) ed inserirne altre; vedi righe evidenziate
---------------------------------------------
#define IO_INPUT *(gpio+GPIO_SEL1) &= 0xF8FFFFFFL
#define IO_OUTPUT *(gpio+GPIO_SEL1) &= 0xF8FFFFFFL; *(gpio+GPIO_SEL1) |= 0x01000000L
//#define SCLK_OUTPUT *(gpio+GPIO_SEL2) &= 0xFFFFFFC7L; *(gpio+GPIO_SEL2) |= 0x00000008L
#define CE_OUTPUT *(gpio+GPIO_SEL1) &= 0xFF1FFFFFL; *(gpio+GPIO_SEL1) |= 0x00200000L
#define IO_HIGH *(gpio+GPIO_SET) = 0x00040000L
#define IO_LOW *(gpio+GPIO_CLR) = 0x00040000L
//#define SCLK_HIGH *(gpio+GPIO_SET) = 0x00200000L
//#define SCLK_LOW *(gpio+GPIO_CLR) = 0x00200000L
#define CE_HIGH *(gpio+GPIO_SET) = 0x00020000L
#define CE_LOW *(gpio+GPIO_CLR) = 0x00020000L
#define IO_LEVEL *(gpio+GPIO_INP) & 0x00040000L
#define SCLK_OUTPUT *(gpio+GPIO_SEL2) &= 0xFF1FFFFFL; *(gpio+GPIO_SEL2) |= 0x00200000L
#define SCLK_HIGH *(gpio+GPIO_SET) = 0x08000000L
#define SCLK_LOW *(gpio+GPIO_CLR) = 0x08000000L---------------------------------------------
il programma si puo' compilare come
cc -o rtc-pi.c rtc-pi.c
chmod +x rtc-pi
per impostare la data sull' RTC si puo' procedere come (da sudo)
./rtc-pi 20130713173002 (ora 17:30:02 del 13 luglio 2013)
per impostare l'ora del Raspberry riprendendola dall' RTC e' sufficiente
./rtc-pi
per rendere il sistema funzionante si deve infine mandare in esecuzione automatica il programma ./rtc-pi ad ogni avvio del sistema