Tartalomjegyzék:

Arduino EEPROM beállítások inicializálása: 5 lépés
Arduino EEPROM beállítások inicializálása: 5 lépés

Videó: Arduino EEPROM beállítások inicializálása: 5 lépés

Videó: Arduino EEPROM beállítások inicializálása: 5 lépés
Videó: Hobbielektronika - Arduino alapok 2024, Július
Anonim
Image
Image
Mi az EEPROM?
Mi az EEPROM?

Sziasztok, Minden Arduino -nak van egy kis beépített memóriája, az EEPROM. Ezzel tárolhatja a projekt beállításait, ahol a kiválasztott értékek megmaradnak a bekapcsolási ciklusok között, és ott lesznek, amikor legközelebb bekapcsolja az Arduino -t. Van egy remek trükköm, amely megtanítja, hogyan kezdeményezhet alapértelmezett értékeket az első futtatáskor, ezért maradjon körül, hogy megtudja, hogyan.

1. lépés: Mi az EEPROM?

Mi az EEPROM?
Mi az EEPROM?

Az EEPROM egy apró memória tároló, amelynek értékei akkor is megmaradnak, ha az Arduino kártya ki van kapcsolva. Ez úgy működik, mint egy apró merevlemez, így tárolhatja a paramétereket a készülék következő bekapcsolásakor. Az Arduino kártya típusától függően mindegyiknél eltérő mennyiségű tárhely áll rendelkezésre, így például az Uno 1024 bájt, a Mega 4096 bájt és a LilyPad 512 bájt.

Fontos megjegyezni, hogy minden EEPROM korlátozott számú írási ciklussal rendelkezik. Az Atmel körülbelül 100 000 írási/törlési ciklust határoz meg az Arduino EEPROM számára. Ez sok írásnak tűnhet, de könnyen elérheti ezt a korlátot, ha ciklusban olvas és ír. Ha egy helyet túl sokszor írtak és töröltek, az megbízhatatlanná válhat. Előfordulhat, hogy nem adja vissza a helyes adatokat, vagy nem adja vissza az értéket egy szomszédos bitről.

2. lépés: Importálja a könyvtárat

Importálja a Könyvtárat
Importálja a Könyvtárat
Importálja a Könyvtárat
Importálja a Könyvtárat
Importálja a Könyvtárat
Importálja a Könyvtárat

Ennek a memóriának a használatához először be kell építenünk az Arduino által biztosított könyvtárat. A könyvtár két módszert kínál: olvasni és írni a megfelelő műveletekhez. Az olvasási függvény elfogadja azt a címet, amelyről olvasni akarunk, míg az írási funkció elfogadja mind a címet, mind az értéket, amelyet írni szeretnénk.

Példánkban az a cél, hogy az Arduino minden indításakor készlet beállítások legyenek, ezért kezdjük azzal, hogy meghatározzuk a tárolásra használt tömböt, és meghatározzuk a tárolni kívánt beállítások címét. Egy olyan chipen, ahol 1024 bájt áll rendelkezésre, a címhelyek 0 és 1023 között lesznek.

3. lépés: Állítsa be az inicializáló zászlót

Állítsa be az inicializáló zászlót
Állítsa be az inicializáló zászlót

A beállítások alapértelmezett értékeinek kezdeti beállításához az a trükk, hogy az egyik címet jelzőként használja, függetlenül attól, hogy a beállítások inicializálva lettek -e. Ehhez az utolsó címhelyet használtam, mivel gyakran másra nem használják. A loadSettings funkció először ellenőrzi ezt a helyet, ha az ott tárolt érték „T” karakter, és ha nem, akkor beállítja a beállítást, és mindegyikhez kiírja a kezdeti értékeket. Miután elkészült, most a hely értékét, ahol nyomon követjük az inicializált beállításokat, a „T” karakterre állítja, és amikor legközelebb bekapcsoljuk az Arduino -t, már nem inicializáljuk az értékeket, hanem beolvassuk a mentett adatokat tömbünk.

4. lépés: A beállítások frissítése

Beállítások frissítése
Beállítások frissítése

Az értékek frissítéséhez használhatjuk az írási függvényt, ahogy azt az inicializáláskor használtuk, de jobb módszer a mellékelt frissítési funkció használata. Ez a funkció az, hogy először azt ellenőrzi, hogy az általunk menteni kívánt érték megegyezik -e már az EEPROM -ban, és ha igen, akkor nem frissül. Ezzel megpróbálja minimalizálni az írási műveletek számát az EEPROM élettartamának meghosszabbítása érdekében.

5. lépés: Élvezze

Élvezd!
Élvezd!
Élvezd!
Élvezd!

Remélem, hogy ez az Instructable hasznos volt az Ön számára, és sikerült tanulnia valamit. A forráskód elérhető a GitHub oldalamon, és a link alább található. Ha bármilyen javaslata van, kérjük, hagyja őket a megjegyzésekben, és ne felejtsen el feliratkozni a YouTube -csatornámra további hasonló videókért.

Ajánlott: