Avr 15. lecke
Azt hiszem, talán nem minden, de nagyon kevesen tudják, hogy amellett, hogy a fő AVR vezérlők, memória, és a memória tárolására firmware, van is egy nem-felejtő EEPROM memória típusa. Ez a memória készült elektromos törlését az információs technológia, ellentétben a prekurzor EPROM amelyben elmosódását végeztünk csak a támogatás az ultraibolya sugárzás, lehetséges, hogy az aktív memória típusa gyakorlatilag mindenhol. Mint tudjuk, több nem-felejtő memória, mint a hús, ami sokkal olcsóbb, de szintén jelentős hátránya. Ott nem lehet kitörölni egyetlen bájtot törlés csak a blokkokat, hogy nem túl kényelmes, és bizonyos esetekben, különösen, ha az információ tárolásához szükséges egy kicsit, és ezt az információt egy kicsit hangolni. Ezért is összpontosítania kell ilyen típusú memória. És nem csak azért, mert az a tény, hogy jelen van a vezérlő, és annak a ténynek köszönhető, hogy nagyon kényelmesen tárolható néhány érték, amit meg kell lennie, még akkor is, miután a szabályozó erő elvész.
Mivel mi dolgozunk a vezérlő Atmega8A, műszaki dokumentáció az MC, és mi nyissa meg, és mi minden ez a memória van 512 byte. Mindazonáltal nem is olyan kevés. Ha például akkor minden szolgáltatás programot telepíteni az adatok nem vesznek el, ha a készülék ki van kapcsolva, mi is jól tudhatja meg ezt a memóriát. Továbbá, a dokumentáció szerint ez a memória garantálja, hogy túlélje 100.000 írási / olvasási ciklust.
Most az a kérdés merül fel. Mivel a folyamat jól szervezett, ez a memória a mikrokontroller AVR. Mint mindig, a Atmel cég gondoskodott róla és a szervezett folyamat hardver szintű, ami nagyon örvendetes, mert állandóan kell védeni a vezérlő források. Vannak bizonyos regiszterekben, hogy ellenőrizzék a hardver szinten.
Next - EADR adat regiszter
Nos, mint mindig, szinte nincs perifériák és a technológia, a szervezett hardver szintű, nem mentes a vezérlő regiszter. Mi irányítjuk nyilvántartás a nyilvántartásba EECR
Nézzük csak nézd meg egy kicsit ez a nyilvántartásból.
Bit EERE - bit, így a folyamat elindításához olvasása az EEPROM memóriából. És, ha az adatok olvasását és írását az adatok nyilvántartásba, ez a bit törlődik. Ezért feltételezhetjük, Danny kicsit nem csak a vezető, hanem egy állapot vagy egy állapot bit.
Bit EEMWE - bit, lehetővé téve (nem kezdő) felvételi folyamatot.
Hátborzongató bit - bit megszakítások engedélyezése.
Nos, most már lépni a projekthez. A projekt jött létre az általában szokásos módon, és az úgynevezett Test13. Azt is csatlakozik main.h fájlok és fájlokat hoz létre, és eeprom.h eeprom.c.
Itt látható a forráskód a generált fájlok
void EEPROM_write (unsigned int uiAddress. unsigned char ucData)
while (EECR (1< EEDR = ucData; // Pischem adat regiszter EECR | = (1< EECR | = (1< unsigned char EEPROM_read (unsigned int uiAddress) <> // várni a megjelenése a zászló végén az utolsó memória működését EECR | = (1< visszatérés EEDR; // Vissza az eredmény Írunk a függvény prototípust a fájl adatai eeprom.h érvényteleníti EEPROM_write (unsigned int uiAddress unsigned char ucData.); unsigned char EEPROM_read (unsigned int uiAddress); Mi használni tapasztalja ugyanazon hibakeresési ellátás, semmit sem kell tenni csatlakozás nélkül Összegyűlnek a projektben, és lépni a program Avrdude firmware. Úgy döntünk, ahol a firmware fájlt, majd megpróbálja a vezérlőt, majd letöröl mindent „Összes törlése” Írhatsz akár úgy, ha csak azt mondta, hogy elhagyta a hordozót egy ilyen levél létezett, és elérhető volt a rögzítéshez. Szintén ez jobb, hogy hozzon létre egy mappát előre is. Most keresd meg a fájlt a lemezre, és nyissa meg a Jegyzettömb
Zárja be a fájlt, próbálja flash vezérlőre, majd ismét leolvassuk az EEPROM memóriából egy fájlt, és nyissa meg a fájlt
Látjuk, hogy rekord a szám „78” a fájl, ami azt jelenti, a 120 decimális formátumban.
Most próbálja megnyomni az „Erase All”, ebben az esetben, EEPROM memóriában stetesya nem.
EEPROM újra olvasni egy fájlt, nyissa meg a fájlt, és látja, hogy a memória törölt, megint minden „FF”.
Miért történt ez? Mert ez kell létrehozni Fyuz. olvasni Fyuz
Ügyeljen arra, hogy a bitek EESAVE. Ha ez a bit egy (mint mi, és ott, a bitek inverzió), akkor kényszeríteni, ha ki van kapcsolva, és amikor törlése törli az EEPROM. És hogy nem, a kicsit vissza szeretné állítani, hogy van, hogy tedd DAW és villog Fyuz.
Varr Fyuz, törölheti vezérlő varr vezérlő törli újra olvasni az EEPROM memóriából egy fájlt, és nyissa meg. Most látjuk, hogy nincs semmi már nem törölhető
Most megpróbáljuk le a vezérlő tápegység és alkalmazni egy bizonyos idő után ismét az áramellátást. Ismét olvassa az EEPROM fájl, mi mindent érintetlenül. Kiváló!
A következő részben a leckében programozottan próbál olvasni az adatokat a EEPROM memória.
Vásárolja programozó itt (megbízható eladó) USBASP USBISP 2.0