Turinys:

„Arduino“EEPROM nustatymų inicijavimas: 5 žingsniai
„Arduino“EEPROM nustatymų inicijavimas: 5 žingsniai

Video: „Arduino“EEPROM nustatymų inicijavimas: 5 žingsniai

Video: „Arduino“EEPROM nustatymų inicijavimas: 5 žingsniai
Video: SKR Pro v1.2 — Основы 2024, Liepa
Anonim
Image
Image
Kas yra EEPROM?
Kas yra EEPROM?

Sveiki visi, Kiekvienas „Arduino“turi mažą įmontuotą atmintį, vadinamą EEPROM. Tai galite naudoti norėdami išsaugoti savo projekto nustatymus, kur pasirinktos vertės bus išsaugotos tarp maitinimo ciklų ir bus ten, kai kitą kartą įjungsite „Arduino“. Turiu šaunų triuką, kuris išmokys jus, kaip pirmą kartą paleisti pradinių verčių rinkinį, todėl laikykitės ir sužinokite, kaip tai padaryti.

1 žingsnis: Kas yra EEPROM?

Kas yra EEPROM?
Kas yra EEPROM?

EEPROM yra maža atminties saugykla, kurios vertės išsaugomos net ir išjungus „Arduino“plokštę. Tai veikia kaip mažas kietasis diskas, kad galėtumėte išsaugoti parametrus, kai kitą kartą įjungsite įrenginį. Priklausomai nuo „Arduino“plokštės tipo, kiekvienoje turėsite skirtingą atminties kiekį, taigi, pavyzdžiui, „Uno“turi 1024 baitus, „Mega“- 4096 baitus, o „LilyPad“- 512 baitų.

Svarbu pažymėti, kad visi EEPROM turi ribotą rašymo ciklų skaičių. „Atmel“nurodo, kad „Arduino“EEPROM gyvenimo trukmė yra apie 100 000 rašymo/ištrynimo ciklų. Tai gali atrodyti kaip daug rašymų, tačiau šią ribą gali būti lengva pasiekti, jei skaitote ir rašote ciklu. Kai vieta buvo parašyta ir ištrinta per daug kartų, ji gali tapti nepatikima. Jis gali negrąžinti teisingų duomenų arba grąžinti vertę iš gretimo bito.

2 veiksmas: importuokite biblioteką

Importuoti biblioteką
Importuoti biblioteką
Importuoti biblioteką
Importuoti biblioteką
Importuoti biblioteką
Importuoti biblioteką

Norėdami naudoti šią atmintį, pirmiausia įtraukiame „Arduino“pateiktą biblioteką. Biblioteka siūlo du metodus: skaityti ir rašyti, kad atliktumėte atitinkamus veiksmus. Skaitymo funkcija priima adresą, iš kurio norime skaityti, o rašymo funkcija priima ir adresą, ir vertę, kurią norime parašyti.

Mūsų pavyzdyje tikslas yra kiekvieną kartą paleisti „Arduino“nustatymų masyvą, todėl pirmiausia nustatome masyvą, kurį naudosime saugojimui, ir nustatysime kiekvieno norimo išsaugoti nustatymo adresus. Luste, kuriame turime 1024 baitus, adresų vietos bus nuo 0 iki 1023.

3 veiksmas: nustatykite inicializacijos vėliavą

Nustatykite inicializacijos vėliavą
Nustatykite inicializacijos vėliavą

Pradinio nustatymų numatytųjų verčių nustatymo gudrybė yra naudoti vieną iš adresų kaip indikatorių, nepaisant to, ar nustatymai buvo inicijuoti, ar ne. Tam naudojau paskutinio adreso vietą, nes ji dažnai nenaudojama niekam kitam. Funkcija „loadSettings“pirmiausia patikrins šią vietą, jei joje išsaugota reikšmė yra „T“, o jei ne, ji bus nustatyta nustatant, užrašant kiekvieno iš jų pradines vertes. Kai tai bus padaryta, dabar vietovės, kurioje stebime inicializuotus nustatymus, vertė bus „T“simbolis, o kitą kartą, kai įjungsime „Arduino“, mes nebeinicijuosime reikšmių, o nuskaitysime išsaugotus duomenis į mūsų masyvas.

4 veiksmas: nustatymų atnaujinimas

Nustatymų atnaujinimas
Nustatymų atnaujinimas

Norėdami atnaujinti reikšmes, galime naudoti rašymo funkciją, tokią, kokią turėjome ją inicijuodami, tačiau geresnis būdas yra naudoti pateiktą atnaujinimo funkciją. Ši funkcija atlieka tai, kad ji pirmiausia patikrina, ar vertė, kurią bandome išsaugoti, yra ta pati, kuri jau yra EEPROM, ir jei yra, tada ji neatnaujinama. Taip ji stengiasi sumažinti rašymo operacijų skaičių, kad prailgintų EEPROM veikimo laiką.

5 žingsnis: mėgaukitės

Mėgautis!
Mėgautis!
Mėgautis!
Mėgautis!

Tikiuosi, kad ši instrukcija jums buvo naudinga ir kad jums pavyko kažko išmokti. Šaltinio kodas yra mano „GitHub“puslapyje, o nuoroda yra žemiau. Jei turite pasiūlymų, palikite juos komentaruose ir nepamirškite užsiprenumeruoti mano „YouTube“kanalo, kad gautumėte daugiau panašių vaizdo įrašų.

Rekomenduojamas: