leo72:
Non possiamo metterci a studiare il codice completo per poi rispiegartelo a te
Ci mancherebbe,
quello ch proprio non mi è chiaro è appunto come viene usato e come si compone "time_t" e "t"
Nell'esempio della libreria "TimeRTCSet", nel void loop appare:
if(Serial.available())
{
time_t t = processSyncMessage();
if(t >0)
{
RTC.set(t); // set the RTC and the system time to the received value
setTime(t);
}
}
Esattamente non capisco la riga:
time_t t = processSyncMessage();
"time_t" da quello che mi dici dovrebbe essere una unsigned long, ma con la "t" davanti cosa significa?
Foste che sia "time_t" che "t" sono uguali a "processSyncMessage()" ?
Poi anche su "processSyncMessage()" ho diversi dubbi:
#define TIME_MSG_LEN 11 // time sync to PC is HEADER followed by unix time_t as ten ascii digits
#define TIME_HEADER 'T' // Header tag for serial time sync message
time_t processSyncMessage() {
// return the time if a valid sync message is received on the serial port.
while(Serial.available() >= TIME_MSG_LEN ){ // time message consists of a header and ten ascii digits
char c = Serial.read() ;
Serial.print(c);
if( c == TIME_HEADER ) {
time_t pctime = 0;
for(int i=0; i < TIME_MSG_LEN -1; i++){
c = Serial.read();
if( c >= '0' && c <= '9'){
pctime = (10 * pctime) + (c - '0') ; // convert digits to a number
}
}
return pctime;
}
}
return 0;
}
All'inizio: time_t processSyncMessage() ![]()
poi: time_t pctime = 0; ma "pctime" non è definita da nessuna parte, appare all'improvviso e non capisco ![]()
ed ancora: pctime = (10 * pctime) + (c - '0') ; // convert digits to a number Sempre più oscuro sommo dei numeri a dei caratteri? ![]()
brunello:
la libreria dice questo :
setTime(hr,min,sec,day,mnth,yr); // alternative to above, yr is 2 or 4 digit yr (2010 or 10 sets year to 2010)poi per passare il dato al DS1307
RTC.set(t);
Quindi setTime(t); e setTime(hr,min,sec,day,mnth,yr); si equivalgono????
Ragazzi, sono veramente sempre più confuso, insieme a mechrekt abbiamo scritto 1800 righe di codice "funzionante" ed ora almeno per ciò che mi riguarda, mi domando come ci sia riuscito... =( =( =( =(
Veramente un grazie di cuore a tutti per l'aiuto che mi state dando.
Riccardo