EEPROM (PROM) az AVR

Meg kell jegyezni, hogy bizonyos gyártók egyesítik a típusú EEPROM memória SRAM. Megszűnésekor a működési feszültség memória tartalmát átment a SRAM az EEPROM-ba, ahol a felvétel érhető el rövid ciklus nem vezetnek viselni.







A könyv Evstifeeva, könyvtár mikrokontroller (irodalom idéztem egy cikket №1), ismerteti a programot példák olvasási / írási. Nézzük meg a program:

Végrehajtása a felvételi funkciók:

Bit EECR vezérlő regiszter:
Hátborzongató - felbontás Megszakítás EEPROM;
EEMWE - Kezelése az EEPROM írási jogosultsága;
EEWE - felvétel felbontását a EEPROM;
EERE - olvasható a felbontást a EEPROM.

3. Töltsön adatok byte regiszterbe EEDR adatokat.
4. EEMWE - Ellenőrző mentesítési felvételi felbontás az EEPROM-ban. Ez a zászló felelős a mentesítés razrresheniya EEWE felvételt. Ha telepítve 1zapis engedélyezett, ha 0, akkor, amikor telepíti EEWE 1 bejegyzés a memória nem fog megtörténni. A szoftver telepítése után EEMWE visszaállítása után 4 gépi ciklus.
5. Írja az adatokat a memóriába.

Van egy árnyalatot. Ha azt tervezi, hogy rendszeresen adatot írni az EEPROM a program során, önálló programozás a mikrokontroller, meg kell tudni, hogy a rekord az EEPROM-ban nem végezhető egyidejűleg írásban Flash memória. így azután a fenti első bekezdésben, hozzá kell adnia a következő bekezdéssel egészül ki:







- befejeződik a felvétel Flash-memória lehetőségek Programok, azaz várjon, amíg sbprositsya zászló SPMEN SPMCR nyilvántartásban, majd azt követően, hogy a vonal meg kell adni egy ciklikus feltételek:

while (SPMCR (1<

Most elemzik az olvasási funkció:

De mielőtt a felvételt használó algoritmust vagy olvasás EEPROM, meg kell, hogy egy változót, hogy lesz elosztva az EEPROM területen. Ehhez a könyvtárban eeprom.h WinAVR szoftver környezet meghatározott egyéni attribútum EEMEM. Például beznakovogo nyilvánítja egy változó egész típusú attribútum.

EEMEM uint8_t eeprom_h; // hogy egy változót.
X jelentése egy változó;
uint8_t - beznakovy egész típusú, amelynek pontosan meghatározott bit, ebben az esetben, 8 bit, és úgy tervezték, hordozhatóság.
EEMEM - tulajdonság okozza a változót kell elosztani a szekción belül .eeprom. Ez az attribútum határozza meg eeprom.h fájlt, és úgy néz ki, a következők szerint.

#ifndef EEMEM
#define EEMEM__attribute__ ((szakasz ( «.eeprom»)))
#endif

Nos, minden rágják végül példa program egészére. Adunk az EEPROM adatok és hinni.

#include
#include
#include
#include «lcd.h»

Nizhena ábrán az eredménye
A fenti kódot veszünk egy cikk №4, amely be van helyezve a fent említett vonalak.
Ha a programot eredetileg továbbított kakieto konstansokat tároló EEPROM, akkor a firmware-t kell kitölteni egy kiterjesztésű fájl .eep, ami jön létre kompilyatoorom és elhelyezni ugyanabban a könyvtárban, és a fájlokat.

Ez minden. Íme egy áttekintés dolgozni ezzel a memóriát. Természetesen rengeteg árnyalatok, de vékony. A következő cikk meg fogja vizsgálni a PWM (impulzusszélesség-modulációs imulsnymi) és simán lépni próbálja kivetíteni sleduyuschimu konstrukció „agya” CNC szerszámgép hobbi. Bye mindenkinek.




Kapcsolódó cikkek