Помогите связаться с 24с01 EEPROM
- Войдите на сайт для отправки комментариев
Пнд, 09/12/2013 - 18:58
Добрый день. Не могу обуздать i2c протокол с микросхемой 24с01. Ниже скетч. Что не так? Сериал молчит
Адрес выставил А0. Все А1, А2, А0 - на минусе.
// Wire Master Writer // by Nicholas Zambetti <http://www.zambetti.com> // Demonstrates use of the Wire library // Writes data to an I2C/TWI slave device // Refer to the "Wire Slave Receiver" example for use with this // Created 29 March 2006 // This example code is in the public domain. #define aD 0xA0 #include <Wire.h> void setup() { Serial.begin(9600); Wire.begin(); // join i2c bus (address optional for master) delay(15); } byte x = 0; void WRITE(byte adress, byte date) { Wire.beginTransmission(aD); // transmit to device #4 Wire.send(adress); // sends five bytes Wire.send(date); // sends one byte Wire.endTransmission(); } void READ(byte adress) { Wire.beginTransmission(aD); Wire.send(adress); Wire.requestFrom(aD, 1); // request 6 bytes from slave device #2 while(Wire.available()) // slave may send less than requested { char c = Wire.receive(); // receive a byte as character Serial.println(c); // print the character } } void loop() { // stop transmitting WRITE(x,x); delay(500); READ(x); delay(500); x++; }
Какие А0, А1, А2 ?
http://www.atmel.com/Images/doc0134.pdf
Или в маркеровке флэшки еще какие буковки есть?
http://www.atmel.com/Images/doc0180.pdf
Маркировка
24c01WP
k2W713
Я так начал понимать, что они ещё все разные!!! Во мура. Так какой же у меня адрес?
В общем либо попробуйте обращаться к байту без адреса девайса, то есть адрес девайса это и есть адрес байта от 0 до 127:
Либо адрес байта должен состоять из двух байт:
И вы какой версией ИДЕ пользуетесь? Меняйте все send'ы на write'ы и скачайте актуальную версию ИДЕ 1.0.х (но не 1.5.х).
Да я уже во всех версиях перепробовал. Взял 0020ую. За совет спасибо. Понял. Но это уже завтра ибо поздно. Спасибо еще раз, что ответили. Завтра отпишусь))))