Как записывать в EEPROM по i2c ?

Ответить
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Как записывать в EEPROM по i2c ?

Сообщение Sergey Ivanov »

Хочу сказать спасибо за огромнейшую помощь в освоении Руслану (grjgrj) :thank:

Имеем, отладочную плату c LM3S8962, и память 24С02.

соединяем их согласно даташиту. получаем типа такого (у меня на плате напяны штырьки для удобства):
IMAG0609.jpg
всё, теперь составляем код:
Безымянный.jpg
теперь поясняю что есть что:

1. адрес ячейки, с которой начинаем запись данных.
2. непосредственно сами данные. получим, что F7 запишется в ячейку с адресом 0, F0 в ячейку с адресом 1, F8 запишется в ячейку с адресом 2, и т.д.
3. адрес ячейки, с которой начинаем читать данные.
4. количество ячеек, которое необходимо прочитать
согласно пункту 3 и 4 мы прочитаем 2,3,4,5,6,7,8 ячейки
5. это slave address вашего устройства ( в данном случае микросхемы памяти). на странице 5 приведённого выше даташита этот адрес приведён: 1010ххх (где х - в зависимости от того как вы подключили память. у меня 0). тогда адрес такой будет: 1010000, если перевести в 16-ти СС получим 50.


Надо помнить !
1. slave address должен быть 7-ми битным
2. не надо разделять slave address на чтение и запись. :labview: сама дописыват нужный бит
3. внимательно смотреть за представлением данных, например при записи надо использовать U8. если будет что-то иное, то начнутся баги связанные с записью лишних данных ( нулей). (над этим, кстати, я долго мучился)
4. обязательно должна быть задержка между чтением и записью.

вроде всё, кто что может добавить буду рад услышать :brows:
Добро пожаловать на http://rk-stud.ru/
Ответить

Вернуться в «Real Time / FPGA / Embedded»