Сканер видит 24C04 и 24C16, не с одним, а с множеством адресов

avtohelp
Offline
Зарегистрирован: 25.04.2019
Сканер видит 24C04 и 24C16, не с одним, а с множеством адресов 
 
Сканер I2C eeprom AT24C04
 
Scanning...
I2C device found at address 0x50  !
I2C device found at address 0x51  !
done
 
 
 
Сканер I2C eeprom AT24C16
 
Scanning...
I2C device found at address 0x50  !
I2C device found at address 0x51  !
I2C device found at address 0x52  !
I2C device found at address 0x53  !
I2C device found at address 0x54  !
I2C device found at address 0x55  !
I2C device found at address 0x56  !
I2C device found at address 0x57  !
done
 
 
Подскажите пожалуйста, как решить эту проблему или киньте ссылку где можно об этом узнать.
 
sadman41
Offline
Зарегистрирован: 19.10.2016

The 4K EEPROM only uses the A2 and A1 device address bits with the third bit being a memory page address bit. The two device address bits must compare to their corresponding hard-wired input pins. The A0 pin is no connect.

The 8K EEPROM only uses the A2 device address bit with the next two bits being for memory page addressing. The A2 address bit must compare to its corresponding hard-wired input pin. The A1 and A0 pins are no connect.

b707
Offline
Зарегистрирован: 26.05.2017

avtohelp пишет:

Сканер видит 24C04 и 24C16, не с одним, а с множеством адресов 
 
Подскажите пожалуйста, как решить эту проблему или киньте ссылку где можно об этом узнать.
 

это не проблема, все так и должно быть. Каждые 256 байт видятся на шине как отдельная ЕЕПРОМ со своим адресом

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

начиная с 24С32 и выше - адрес один.

потому что у младших моделей адрес - 1 байт, а банк выбирается адресной i2c ногой, а начиная с 24с32 до 24с512 адрес задается полноценными 2 байтами и банки переключать не надо, поэтому адрес на i2c  один. 

avtohelp
Offline
Зарегистрирован: 25.04.2019

b707 пишет:

avtohelp пишет:

Сканер видит 24C04 и 24C16, не с одним, а с множеством адресов 
 
Подскажите пожалуйста, как решить эту проблему или киньте ссылку где можно об этом узнать.
 

это не проблема, все так и должно быть. Каждые 256 байт видятся на шине как отдельная ЕЕПРОМ со своим адресом

Объединить программно эти адреса, как то можно? Чтобы читать и писать всю EEprom

avtohelp
Offline
Зарегистрирован: 25.04.2019

DetSimen пишет:

начиная с 24С32 и выше - адрес один.

потому что у младших моделей адрес - 1 байт, а банк выбирается адресной i2c ногой, а начиная с 24с32 до 24с512 адрес задается полноценными 2 байтами и банки переключать не надо, поэтому адрес на i2c  один. 

С адресными ногами игрался, разницы никакой... Только меняются номера адресов, количество остается то же.

sadman41
Offline
Зарегистрирован: 19.10.2016

avtohelp пишет:

Объединить программно эти адреса, как то можно? Чтобы читать и писать всю EEprom

Вам - нет.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

avtohelp пишет:

Объединить программно эти адреса, как то можно? Чтобы читать и писать всю EEprom

Если спрашиваешь, значит тебе - нельзя.

avtohelp
Offline
Зарегистрирован: 25.04.2019

Я может не туда обратился, раздел вроде бы для Новичков...

sadman41
Offline
Зарегистрирован: 19.10.2016

Может и не туда.

Если краткий ответ не устраивает, извольте развёрнутый: можно в том случае, если найдёте/напишете библиотеку, автоматически отображающую адрес виртуальной ячейки EEPROM на пару: адрес I2C + реальный адрес ячейки EEPROM. 

Сможете написать таковую?

 

avtohelp
Offline
Зарегистрирован: 25.04.2019

sadman41 пишет:

Может и не туда.

Если краткий ответ не устраивает, извольте развёрнутый: можно в том случае, если найдёте/напишете библиотеку, автоматически отображающую адрес виртуальной ячейки EEPROM на пару: адрес I2C + реальный адрес ячейки EEPROM. 

Сможете написать таковую?

 

Спасибо за ответ. Написать не смогу, но теперь я об этом хотя бы знаю.

b707
Offline
Зарегистрирован: 26.05.2017

avtohelp пишет:

Объединить программно эти адреса, как то можно? Чтобы читать и писать всю EEprom

зачем? Вы собираетесь писать порции данных длиной более 256 байт? - если нет. в чем смысл обьединения?

b707
Offline
Зарегистрирован: 26.05.2017

sadman41 пишет:

можно в том случае, если найдёте/напишете библиотеку, автоматически отображающую адрес виртуальной ячейки EEPROM на пару: адрес I2C + реальный адрес ячейки EEPROM. 

Сможете написать таковую?

 

че там писать-то? Навскидку строки три. не больше

ТС - советую попытаться - написать такое под силу даже новичку и в плане обучения будет полезно. Хотя. как я уже писал - на практике совершенно непонятно, зачем.

sadman41
Offline
Зарегистрирован: 19.10.2016

b707 пишет:

че там писать-то? Навскидку строки три. не больше

Это уже не ко мне вопрос, надеюсь?

b707
Offline
Зарегистрирован: 26.05.2017

sadman41 пишет:

Это уже не ко мне вопрос, надеюсь?

нет конечно :)

Хотя то, как вы дружно отговариваете ТС от этой элементарной задачки - меня удивило.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

avtohelp пишет:

Я может не туда обратился, раздел вроде бы для Новичков...

Задача настолько элементарна, что любой, хоть немного умеющий программировать не стал бы спрашивать можно это сделать или нельзя.

Если ты спрашиваешь, значит тебе пока рано :)