Hogyan tárolja az adatokat arduino - a szám a string arduino - elektronika

Az EEPROM az elektromosan törölhető, programozható, csak olvasható memóriát jelöli. elektromosan törölhető, átprogramozható, csak olvasható memória. Az adatok ebben a memóriában évtizedekig tárolhatók az áramellátás kikapcsolása után. Az újraírási ciklusok száma több millió alkalommal történik.
Arduino szám EEPROM memória meglehetősen korlátozott: a táblák egy mikroprocesszor alapú atmega328 (például, Arduino UNO és Nano), az összeg 1 kB memóriával, a táblák ATmega168 és ATmega8 - 512 bájt, és a ATmega2560 ATmega1280 - 4 kB.

Írjunk két egész számot az EEPROM memóriába, majd olvassuk el az EEPROM-ból, és továbbítsuk őket a soros portra.
A 0-tól 255-ig terjedő számokkal nincsenek problémák, csak 1 bájtnyi memóriát foglalnak el, és az EEPROM.write () függvényt a megfelelő cellába írják.
Ha a szám nagyobb, mint 255, akkor a highByte () és az lowByte () operátorokat használva oszthatja bájtba, és írjon minden bájtot a cellába. A maximális szám 65536 (vagy 2 ^ 16).
Lásd, soros port monitor sejt egyszerűen kimenetek 0 értéke kisebb, mint 255. A sejteket az 1. és 2. tároljuk nagyszámú 789. Ebben a cellában egy tárolja túlfolyó szorzó 3, és a sejt 2 - hiányzó számot 21 (azaz 789 = 3 * 256 + 21). Nagyszámú újbóli összeszerelés, bájtban értelmezve egy függvényszó (). int val = szó (hi, low), ahol hi és low a magas és az alacsony bájtok értéke.
Minden olyan cellában, amelyet nem regisztráltunk, a 255-es számok tárolódnak.

Hogyan tárolja az adatokat arduino - a szám a string arduino - elektronika

Lebegőpontos számok és karakterláncok írásához az EEPROM.put () metódust kell használnia. és az olvasáshoz - EEPROM.get ().
A setup () rutinban először írunk le egy lebegőpontos számot f. Ezután lépjen a memóriakártyák számára, amely lefoglalja a típust, és írjon egy karakterláncot, melynek kapacitása 20 cellából áll.
A loop () rutinban elolvassa az összes memóriahelyet, és először "lebegő" típusúként, majd "char" típusúként dekódolja őket, és az eredményt a soros portra továbbítja.
Látható, hogy a 0 és 3 közötti cellákban lévő érték helyesen lett meghatározva lebegőpontos számként, és a negyediként kezdődik stringként.
Az ovf (túlcsordulás) és a nan (nem a szám) újonnan megjelenő értékei azt jelzik, hogy a számot nem lehet helyesen lefordítani. Ha pontosan tudja, hogy milyen típusú memóriák foglalnak el, akkor nem lesz gond.

Hogyan tárolja az adatokat arduino - a szám a string arduino - elektronika

Egy nagyon kényelmes megoldás az, ha a memóriakártyákat az EEPROM-tömb elemeként kívánja elérni. Ebben vázlat a beállítási folyamatot (), először írni az adatokat az első 4 bájt, és loop () rutin folyamatosan olvasni az adatokat minden sejt, és azokat a soros port.

Hogyan tárolja az adatokat arduino - a szám a string arduino - elektronika