Tartalomjegyzék:

24LC256 EEPROM hozzáadása az Arduino Due -hoz: 3 lépés
24LC256 EEPROM hozzáadása az Arduino Due -hoz: 3 lépés

Videó: 24LC256 EEPROM hozzáadása az Arduino Due -hoz: 3 lépés

Videó: 24LC256 EEPROM hozzáadása az Arduino Due -hoz: 3 lépés
Videó: Arduino UNO - Write/Read EEPROM 24LC256 2024, Július
Anonim
24LC256 EEPROM hozzáadása az Arduino Due -hoz
24LC256 EEPROM hozzáadása az Arduino Due -hoz

Az esedékes arduino -nak nincs eepromja. Ez az oktatható ad hozzá egyet, és lehetővé teszi, hogy olyan értékeket tároljon a nem felejtő memóriában, amelyek túlélik az arduino firmware frissítését.

1. lépés: Breadboarding

Breadboardozás
Breadboardozás

Van néhány igazán jó utasítás itt: az 1-4. és a 7. a 8. tüske az előlapon lévő 3.3V -os tápegységhez van csatlakoztatva. A sárga (6. tű) és a fehér (5. tű) vezetékek az i2c SDA (adat) és az SCL (óra) csapokhoz vannak csatlakoztatva az esedékes táblán (21. és 20. számmal)).

2. lépés: Kódidő

Kódidő
Kódidő

Íme néhány kódrészlet, amelyet a vázlataimban használok. Először is vegye fel a Wire könyvtár fejléceit valahol a vázlat teteje közelében: / * Használja a 24LC256 EEPROM -ot a beállítások mentéséhez oldalírási funkció a chipben is). Megjegyzés: van egy makródefiníció 0x50. / * Ez a két függvény segít írni a 24LC256 EEPROM chipre */ #define EEPROM_ADDR 0x50 void EEPROM_write (unsigned int addr, byte data) {int rdata = data; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.write (rdata); Wire.endTransmission (); //Serial.print("EEPROM write: addr: "); //Serial.print(addr); //Serial.print (""); // Sorozat.println (adatok); késleltetés (5); } bájt EEPROM_read (unsigned int addr) {byte data = 0xFF; Wire.beginTransmission (EEPROM_ADDR); Wire.write ((int) (addr >> 8)); // MSB Wire.write ((int) (addr & 0xFF)); // LSB Wire.endTransmission (); Wire.requestFrom (EEPROM_ADDR, 1); if (Wire.available ()) data = Wire.read (); //Serial.print("EEPROM read: addr: "); //Serial.print(addr); //Serial.print (""); // Sorozat.println (adatok); késleltetés (5); adatok visszaadása; } Feloldhatja a Serial.print (…) sorok megjegyzését, ha hibakeresési kimenetet szeretne látni. Az arduinos setup () függvényben elindítja a vezetékes könyvtárat, és ki tudja olvasni a kezdeti értékeket. Itt két bájtban (zászlók és max_cc), két szóban (lean_min és lean_max) és egy sor tömböt olvasok sd_max [3]: // az EEPROM Wire.begin () fájlba mentett értékek olvasása; zászlók = EEPROM_read (0); max_cc = EEPROM_read (1); lean_min = szó (EEPROM_read (3), EEPROM_read (2)); lean_max = szó (EEPROM_read (5), EEPROM_read (4)); for (int j = 0; j <3; j) {sd_max [j] = szó (EEPROM_read (7 j*2), EEPROM_read (6 j*2)); } Íme az a kódrészlet, amely az EEPROM -ba írja őket: EEPROM_write (0, zászlók); EEPROM_write (1, max_cc); EEPROM_write (2, lowByte (lean_min)); EEPROM_write (3, highByte (lean_min)); EEPROM_write (4, lowByte (lean_max)); EEPROM_write (5, highByte (lean_max)); for (int j = 0; j <3; j) {EEPROM_write (6 j*2, lowByte (sd_max [j])); EEPROM_write (7 j*2, highByte (sd_max [j]))); } Valóban erről van szó.

3. lépés: Csatlakoztassa

Vezetékkel fel
Vezetékkel fel

Csatlakoztassa egy veroboardra, hogy csavarja be a házba, és végezze el a munkát.

Ajánlott: