Go Down

Topic: Utilizzare una EEPROM 24WC16P con Arduino (Read 3 times) previous topic - next topic

83darking83

#30
Jun 27, 2010, 12:21 pm Last Edit: Jun 27, 2010, 12:56 pm by 83darking83 Reason: 1
Ciao uwefed,
ho provato con 2047 e mi ha dato 2047 errori!
La cosa strana è che una volta fatto l'upload del codice, cliccando su SerialMonitor una volta mi da:

Code: [Select]
E24C1024 Library Benchmark Sketch

--------------------------------
Write By Byte Test:

Writing data:.

bloccandosi così! Chiudendo e riaprendo lo stesso SerialMonitor, parte dando questo otput:

Code: [Select]
E24C1024 Library Benchmark Sketch

--------------------------------
Write By Byte Test:

Writing data:.DONE
Total Time (seconds): 0
Write operations per second: 4294967295
--------------------------------

--------------------------------
Read By Byte Test:

Reading data:.
Address: 1 Should be: 1 Read val: 0

Address: 2 Should be: 2 Read val: 0

Address: 3 Should be: 3 Read val: 0

Address: 4 Should be: 4 Read val: 0

Address: 5 Should be: 5 Read val: 0

Address: 6 Should be: 6 Read val: 0

Address: 7 Should be: 7 Read val: 0

Address: 8 Should be: 8 Read val: 0

Address: 9 Should be: 9 Read val: 0

Address: 10 Should be: 10 Read val: 0

Address: 11 Should be: 11 Read val: 0

Address: 12 Should be: 12 Read val: 0

Address: 13 Should be: 13 Read val: 0

Address: 14 Should be: 14 Read val: 0

Address: 15 Should be: 15 Read val: 0

Address: 16 Should be: 16 Read val: 0

Address: 17 Should be: 17 Read val: 0

Address: 18 Should be: 18 Read val: 0

Address: 19 Should be: 19 Read val: 0
DONE

Total Test Time (secs): 0
Read operations per second: 4294967295
Total errors: 19
--------------------------------


[test eseguito su MAX_ADDRESS=20]

La cosa strana è che la maggior parte delle volte si blocca su "Writing data:.", mentre riesce a completare la procedura solo una volta ogni 2/3 circa.

EDIT: Aumentando MAX_ADDRESS a 50, si blocca anche su valori casuali tipo 18 o 24...  :o

EDIT2: Aprendo il SerialMonitor, subito dopo aver caricato il codice, alcune volte funziona, ritornando 0 errori in lettura e 0 errori in scrittura

uwefed

Ho un sospetto che c'é un errore ci collegamento con l'arduino.

Quello che scrivi nel Replay 3
"Ho connesso la EEPROM secondo il seguente schema:

Pin 1 -> GND  (Arduino)
Pin 2 -> GND  (Arduino)
Pin 3 -> GND  (Arduino)
Pin 4 -> GND  (Arduino)
Pin 8 -> 5 V    (Arduino)
Pin 7 -> GND  (Arduino)
Pin 6 -> Analog Pin 5  (Arduino)
Pin 5 -> Analog Pin 4  (Arduino)"


È giusto.
Domanda cretina: hai contato bene i piedini, nel senso giusto?

Ciao Uwe


83darking83

Ho controllato e ricontrollato, addirittura seguendo le "colonne" della breadboard con un dito, da contatto a contatto!



Comunque su una ventina di prove consecutive con SerialMonitor, in un paio ha completato i cicli di lettura e scrittura apparentemente senza errori, ma per pura (e apparente) casualità!

uwefed

#33
Jun 27, 2010, 11:14 pm Last Edit: Jun 27, 2010, 11:24 pm by uwefed Reason: 1
ancora io ripensando:
Il fatto che ognitanto funzione e altre no é strano.
Puoi fare una foto piú grande che comprende tutto L'arduino per vedere meglio i collegamenti?

Come collegamenti da quel poco che vedo non vedo errori.

Vedo che usi un Arduino Mega. Io per le prove ho usato un 2009. Non dovrebbe essere quello il problema.

Ciao Uwe

83darking83

#34
Jun 27, 2010, 11:57 pm Last Edit: Jun 28, 2010, 11:41 am by 83darking83 Reason: 1
Ecco la stessa foto con i dettagli (si ingrandisce...):



(Al momento non posso farne delle altre...)

la EEPROM è quindi così collegata:

Pin 1 -> GND  (Arduino)
Pin 2 -> GND  (Arduino)
Pin 3 -> GND  (Arduino)
Pin 4 -> GND  (Arduino)
Pin 8 -> 5 V    (Arduino)
Pin 7 -> GND  (Arduino)
Pin 6 -> Digital Pin SDC 21  (Arduino)
Pin 5 -> Digital Pin SDA 20  (Arduino)

Go Up