Go Down

Topic: scrittura ram su modutolo rtc 1307 (Read 104 times) previous topic - next topic

brube

Bongiorno a tutti,

Premetto che sono alle prime armi e da qualche tempo sto cercando di scrivere dei valore nella memoria ram messa a disposizione dal modulo rtc 1307. Ho fatto molte ricerche infruttuose su internet ho cercato di leggere la poca documentazione che ho trovato che spiega come accedere in scrittura e/o lettura dei 56 byte messi a disposizione. Ho provato a prendere l'esempio allegato alla libreria Rtc dove spiega come scrivere i primi 8 byte e penso diaver capito come funziona ma quando cerco di scrivere sul byte superiore di 8 il sistema non funziona correttamemte. Di seguito il codice da me modificato ma non funzionante dall'indirizzo 8 in poi. Spero che qualche anima pia mi possa aiutare a venirne fuori da questo problema.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

#ifndef ESP8266
  while (!Serial); // for Leonardo/Micro/Zero
#endif
  Serial.begin(57600);
  rtc.begin();

  // Print old RAM contents on startup.
  Serial.println("Current NVRAM values:");
  for (int i = 0; i < 30; ++i) {
     printnvram(i);
  }

  // Write some bytes to non-volatile RAM storage.
  // NOTE: You can only read and write from addresses 0 to 55 (i.e. 56 byte values).
  Serial.println("Writing NVRAM values.");
  // Example writing one byte at a time:
  rtc.writenvram(0, 0x01);
  rtc.writenvram(1, 0x02);
  rtc.writenvram(2, 0x03);
  rtc.writenvram(3, 0x04);
  rtc.writenvram(4, 0x05);
  rtc.writenvram(5, 0x06);
  rtc.writenvram(6, 0x07);
  rtc.writenvram(7, 0x08);
  rtc.writenvram(8, 0x09);
  rtc.writenvram(9, 0x02);  --->> da questo punto in poi non memorizza correttamente
  rtc.writenvram(10, 0x0b);
  rtc.writenvram(11, 0x12);


Saluti

maubarzi

#1
Apr 06, 2019, 11:12 pm Last Edit: Apr 06, 2019, 11:23 pm by maubarzi
Ciao,
in qualità di temporaneo e parziale sostituto, senza portafoglio, del "Sommo moderatore" che si è concesso un po' di svago e di pazza gioia ;)

come prima cosa ti do il benvenuto e poi ti devo chiedere di espletare una piccola formalità che aiuterà tutti i volenterosi che vorranno rispondere al tuo quesito, di farlo nel migliore dei modi.

Lo faccio citando le sue parole:
Quote
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie. :)
Ti devo chiedere anche una seconda cosa:
in conformità al regolamento, punto 7, dovresti editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice C++, che hai inserito nel messaggio, all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice C++ dovrà trovarsi racchiuso tra due tag:
[code]_il _tuo_ codice_ [/code]
 così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo.

Questo migliora la leggibilità e mantiene i post compatti e meno chiassosi.

grazie
Nessuna buona azione resterà impunita!

Preistoria -> medioevo -> rinascimento -> risorgimento -> rincoglionimento!

Go Up