Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FM24C04B problem #31

Open
rozrabiak opened this issue Aug 11, 2023 · 6 comments
Open

FM24C04B problem #31

rozrabiak opened this issue Aug 11, 2023 · 6 comments

Comments

@rozrabiak
Copy link

Hi, I have connected FM24C04B.
i2c scanner shows me this addresses:

01:07:29.324 -> I2C device found at address 0x50
01:07:29.324 -> I2C device found at address 0x51

but I have only one chip connected to Arduino.
Which address should I use?
Library in debug mode shows me:

01:10:14.034 > FRAM
01:10:14.055 > FRAM_MB85RC_I2C object created
01:10:14.055 > I2C device address 0x50
01:10:14.055 > WP pin number 13
01:10:14.055 > Write protect management: true
01:10:14.055 > Memory Chip NOT FOUND
01:10:14.055 > ...... ...... ......

Thank's for help, reply, etc.

@sosandroid
Copy link
Owner

Hi,

Can you check the address ?
Have a look on datasheet to check this out

@rozrabiak
Copy link
Author

Above addresses I got when A1 and A2 pulled-down.
When A1 and A2 are pull-down I have two addresses: 0x7... I don't remember now :-(
In my IC I have two pi for address settings, A1 and A2.

@sosandroid
Copy link
Owner

sosandroid commented Aug 12, 2023

The address is then 0b101000 following by the page bit. This makes a 7bit address which would work (8th bit is reserved for R/W operation).

This makes 0x50 or 0x51 depending on the page you want to access.

The library has been built with mb85rc256v. Compare with that datasheet to be sure. Your device has been reported working by users

@alex-eri
Copy link

Memory Chip NOT FOUND

same problem

resultr = mymemory.getOneDeviceID(1, &id);
Serial.print("Manufacturer 0x");
Serial.println(id, HEX);

resultr = mymemory.getOneDeviceID(3, &id);
Serial.print("DensityCode 0x");
Serial.println(id, HEX);

resultr = mymemory.getOneDeviceID(4, &id);
Serial.print("Density ");
Serial.println(id, DEC);

returns

Manufacturer 0xFFF
DensityCode 0xF
Density 0

@alex-eri
Copy link

.....1st test
Writing at location 0x25
Writing...
Calculated address 0x50
Reading...
Calculated address 0x50
[WiFi-event] event: 4
[WiFi-event] event: 7
WiFi connected. IP address: 10.99.99.163
Connecting to MQTT... in loop
[ 2632][E][Wire.cpp:392] requestFrom(): i2cRead returned Error 263
Written value 0xBE
Read value 0xFF
Write Byte test : NOT OK
.... ....
2nd test
Writing at location 0x7B0
Writing...
Calculated address 0x50
Reading...
Calculated address 0x57
[ 3643][E][Wire.cpp:392] requestFrom(): i2cRead returned Error 263
Written value 0xBEEF
Read value 0xFFFF
Write word test : NOT OK
.... ....

esp32, i have working bmp180 and pcf8574ts on wire

tried wire running at 100000 and 400000

@alex-eri
Copy link

i2c scan detects 0x50 if Vdd = 5V, but not works.

i used 10k pullup resistors near ic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants