I have the 18f458 20MHz and the 24lc512. I put all the pull-up resitor.But, as you can see in the picture, if I read the eeprom the result is always zero.where is the mystake?
excuse for my English! thanks very much
luca from italy
I have the 18f458 20MHz and the 24lc512. I put all the pull-up resitor.But, as you can see in the picture, if I read the eeprom the result is always zero.where is the mystake?
excuse for my English! thanks very much
luca from italy
the i2cwrite works very very good!!!(I can program but not read the eeprom)
if I use the i2cread to read the pcf8593 memory (time/date) it works...why it doesn't work with the eeproms?
Please help me.it is important...
Please read the documentation !
I think, you need to use WORD-variables for the adress while using such huge EEPROMs !
;-)
I use them too, and i write and read with I2CREAD/I2CWRITE... It's not easy, but it works !
PBP 2.50C, MCS+ 3.0.0.5, MPLAB 8, MPASM 5.14, ASIX Presto, PoScope, mE mikroBasic V7.2, PICKIT2
thanks Wumpus for the help.
But I use a WORD-variables for the adress. If you see the picture the variable B0 is defined as WORD.but it doesn't work!
I try to change the 4.7K pull-up resistor with a 10K pull-up resistor (I put that on the SCL or on the SDA or on both)... but if I read the EEprom the result is always 0.
Do you have Pins 1 & 2 (A0 & A1) tied to ground?
Is Pin 3 (A2) tied to VDD?
Is Pin 7 (WP) tied to ground?
Do not leave any of those pins floating.
<br>
DT
i have pin1 and pin2 to and pin3 and pin7 to gnd.
why you say that i should have pin3 to VDD? the address is:
$A0=%10100000 the data sheet says (show attach file) that I have pin1,2,3 to GND
Sorry, I was looking at the 24LC515 datasheet instead of the 512.
You should be ok wired that way.
<br>
DT
Luca,
After looking at the Image in you're first post for a while longer, I think I found the problem. I hope.
Something I missed the first time was that you're using an 18F458. That chip has Comparators multiplexed with the PORTD pins, and they default to analog mode. You can kind of see the results in the Variables window of the image. Both SDA and SCL are 0, instead of the 1 that they should be since I2C idles HIGH.
You can just add a ...
CMCON = 7
and you should be smiling again.
Also, the 24LC512 is a 400khz device, so I2C_SLOW isn't required.
<br>
Last edited by Darrel Taylor; - 8th December 2005 at 04:13.
DT
thanks a lot Darrel now the i2cread works very fine...thanks thanks thanks luca
Bookmarks