Arduino Forum

International => Italiano => Software => Topic started by: -Alo- on Feb 22, 2016, 01:59 pm

Title: Scrittura variabile numerica su Ram RTC
Post by: -Alo- on Feb 22, 2016, 01:59 pm
Ciao a tutti,
sto cercando da giorni di salvare un valore numerico nella ram dell'RTC DS1307 e poi successivamente recuperarlo utilizzandolo in una nuova variabile intera ma fin'ora senza successo.
Come base sono partito dall'esempio contenuto nella libreria RTC.lib dal quale ho tolto alcune parti per me superflue ed ho ottenuto:
Code: [Select]

// Example of using the non-volatile RAM storage on the DS1307.
// You can write up to 56 bytes from address 0 to 55.
// Data will be persisted as long as the DS1307 has battery power.

#include <Wire.h>
#include "RTClib.h"


RTC_DS1307 rtc;


void setup () {


  Serial.begin(57600);
  rtc.begin();
  int valore;



  Serial.println("Writing NVRAM values.");
  // Example writing one byte at a time:
  rtc.writenvram(0, 0xFE);

 
  // Read bytes from non-volatile RAM storage.
  Serial.println("Reading NVRAM values:");
  // Example reading one byte at a time.
  Serial.println(rtc.readnvram(0), DEC);

  valore=(rtc.readnvram(0), DEC);
  Serial.println(valore);
 
}

void loop () {
  // Do nothing in the loop.
}


Io ho la necessità che nella variabile "valore" venga memorizzato il numero che ho precedentemente scritto (ossia in questo caso il numero FE in forma esacedimale). Il problema è che mentre il comando seguente restituisce sempre il valore corretto
Code: [Select]
Serial.println(rtc.readnvram(0), DEC);

il comando successivo fornisce sempre il valore 10...
Code: [Select]
valore=(rtc.readnvram(0), DEC);
Serial.println(valore);


Dov'è il problema ?
Grazie a tutti in anticipo per l'aiuto.
Title: Re: Scrittura variabile numerica su Ram RTC
Post by: gpb01 on Feb 22, 2016, 02:06 pm
Stai mischiando le sintassi della Serial.print() con quella dell'assegnazione di un valore, dove, il formato DEC di stampa, NON ha nulla a che vedere !

valore = rtc.readnvram(0);

... e null'altro.

Per capire, vai a studiare la sintassi della Serial.print() (https://www.arduino.cc/en/Serial/Print) ... ::)

Guglielmo
Title: Re: Scrittura variabile numerica su Ram RTC
Post by: -Alo- on Feb 22, 2016, 02:20 pm
Grazie della velocissima risposta.
Purtroppo ho iniziato da poco con arduino e le mie basi sono ancora poco solide.
Grazie ancora
Title: Re: Scrittura variabile numerica su Ram RTC
Post by: gpb01 on Feb 22, 2016, 02:31 pm
Purtroppo ho iniziato da poco con arduino e le mie basi sono ancora poco solide.
Potresti cominciare con QUESTO (http://cabestano.altervista.org/alterpages/files/TizianaMarsella-ProgrammareArduino.pdf)  ;)

Guglielmo