Vi sarei davvero grato se qualcuno potesse aiutarmi con il seguente problema
Non riesco leggere/scrivere su eeprom 24C256.
l'HW e composto da 08m2 collegato con 24C256 in I2C ai pin c.1 (SCL)e c.2 (SDA) e ai
corrispondenti pin eeprom con resistenza 4.7K verso il +.
I 3 pin di indirizzo e 1 pin di protezione dalla scrittura. Sono tutti a terra.
Ho sostituito il 08m2 con altro sicuramente funzionante.
La eeprom l'ho sostituita con altre ma non e cambiato nulla.
Il programma e' tratto da un demo trovato in internet (forse forum?) perche'
non avendo mai usato delle eeprom, volevo inserire da un programma che sto
montando, molti testi da inviare al display. (ogni record a 16 caratteri
da inviare a display)
Facendo andare il programma allegato in PE 6.2 legge e scrive su eeeprom
simulata senza nessun problema.
Dopo aver trasferito il programma su 08m2 non legge e non scrive.
Messa eeprom su programmatore (mod ch341 impostato su 24C256) risulta
completamente vuota.
invece da eeprom scritta trasferita su 08m2 non legge nulla.
Ho messo il modulo completo (tipo aliexpress)completo, ma nen e' cambiato nulla.
Il programma in questione mi sembra abbastanza semplice, ma evidentemente non
considero qualcosa di essenziale.
Perche'???
Ringrazio chiunque possa darmi una dritta
[ code]
;-----------------------------------------------------------
;Test code for EEPROM demo circuit PICAXE 08m2 and 24C256
;-----------------------------------------------------------
#picaxe 08m2
Symbol lcd_c.0 =c.0 ;Assign LCD to port
symbol contattore =b0 ;n. carattere
symbol lettura =b1 ;da eeprom
pause 500
hi2csetup i2cmaster, %10100000, i2cfast, i2cword
;----------------------------------------------------------
;Scrivi un campione al primo chip - nota che il buffer
;su un 24C256 puo contenere 64 byte
;----------------------------------------------------------
;azzera eprom
hi2cout 0,(" ") ;formato da indirizzo e testo da memorizzare
hi2cout 64,(" ")
pause 10
;scrive in eprom
hi2cout 0,("0123456789012345")
hi2cout 64,("abcdefgh")
pause 100 ;attesa termine scrittura
Serout lcd_c.0,N2400,(254,1) ;pulizia display
Pause 100
;----------------------------------------------------------
;Leggi indietro i campioni e inviali al terminale (lettura=0123456789012345abcdefgh [00]
;----------------------------------------------------------
hi2cin 0,(lettura)
Serout lcd_c.0,N2400,(254,128,lettura)
sertxd (lettura) ;Visualizza i dati sullo schermo
for contattore=0 to 14 ;poi gli altri
hi2cin (lettura)
Serout lcd_c.0,N2400,(lettura) ;Visualizza i dati su display
sertxd (lettura) ;Visualizza i dati sullo schermo
next
Serout lcd_c.0,N2400,(cr,lf)
sertxd (cr,lf)
;End
;---------------------------------------------------------
;seconda riga
hi2cin 64,(lettura)
Serout lcd_c.0,N2400,(254,192,lettura)
sertxd (lettura) ;Visualizza i dati sullo schermo
for contattore=0 to 14 ;poi gli altri
hi2cin (lettura)
Serout lcd_c.0,N2400,(lettura)
sertxd (lettura) ;Visualizza i dati sullo schermo
next
Serout lcd_c.0,N2400,(cr,lf)
sertxd (cr,lf)
End
[ /code]
Non riesco leggere/scrivere su eeprom 24C256.
l'HW e composto da 08m2 collegato con 24C256 in I2C ai pin c.1 (SCL)e c.2 (SDA) e ai
corrispondenti pin eeprom con resistenza 4.7K verso il +.
I 3 pin di indirizzo e 1 pin di protezione dalla scrittura. Sono tutti a terra.
Ho sostituito il 08m2 con altro sicuramente funzionante.
La eeprom l'ho sostituita con altre ma non e cambiato nulla.
Il programma e' tratto da un demo trovato in internet (forse forum?) perche'
non avendo mai usato delle eeprom, volevo inserire da un programma che sto
montando, molti testi da inviare al display. (ogni record a 16 caratteri
da inviare a display)
Facendo andare il programma allegato in PE 6.2 legge e scrive su eeeprom
simulata senza nessun problema.
Dopo aver trasferito il programma su 08m2 non legge e non scrive.
Messa eeprom su programmatore (mod ch341 impostato su 24C256) risulta
completamente vuota.
invece da eeprom scritta trasferita su 08m2 non legge nulla.
Ho messo il modulo completo (tipo aliexpress)completo, ma nen e' cambiato nulla.
Il programma in questione mi sembra abbastanza semplice, ma evidentemente non
considero qualcosa di essenziale.
Perche'???
Ringrazio chiunque possa darmi una dritta
[ code]
;-----------------------------------------------------------
;Test code for EEPROM demo circuit PICAXE 08m2 and 24C256
;-----------------------------------------------------------
#picaxe 08m2
Symbol lcd_c.0 =c.0 ;Assign LCD to port
symbol contattore =b0 ;n. carattere
symbol lettura =b1 ;da eeprom
pause 500
hi2csetup i2cmaster, %10100000, i2cfast, i2cword
;----------------------------------------------------------
;Scrivi un campione al primo chip - nota che il buffer
;su un 24C256 puo contenere 64 byte
;----------------------------------------------------------
;azzera eprom
hi2cout 0,(" ") ;formato da indirizzo e testo da memorizzare
hi2cout 64,(" ")
pause 10
;scrive in eprom
hi2cout 0,("0123456789012345")
hi2cout 64,("abcdefgh")
pause 100 ;attesa termine scrittura
Serout lcd_c.0,N2400,(254,1) ;pulizia display
Pause 100
;----------------------------------------------------------
;Leggi indietro i campioni e inviali al terminale (lettura=0123456789012345abcdefgh [00]
;----------------------------------------------------------
hi2cin 0,(lettura)
Serout lcd_c.0,N2400,(254,128,lettura)
sertxd (lettura) ;Visualizza i dati sullo schermo
for contattore=0 to 14 ;poi gli altri
hi2cin (lettura)
Serout lcd_c.0,N2400,(lettura) ;Visualizza i dati su display
sertxd (lettura) ;Visualizza i dati sullo schermo
next
Serout lcd_c.0,N2400,(cr,lf)
sertxd (cr,lf)
;End
;---------------------------------------------------------
;seconda riga
hi2cin 64,(lettura)
Serout lcd_c.0,N2400,(254,192,lettura)
sertxd (lettura) ;Visualizza i dati sullo schermo
for contattore=0 to 14 ;poi gli altri
hi2cin (lettura)
Serout lcd_c.0,N2400,(lettura)
sertxd (lettura) ;Visualizza i dati sullo schermo
next
Serout lcd_c.0,N2400,(cr,lf)
sertxd (cr,lf)
End
[ /code]