Sadržaj:

Arduino EEPROM postavke Inicijalizacija: 5 koraka
Arduino EEPROM postavke Inicijalizacija: 5 koraka

Video: Arduino EEPROM postavke Inicijalizacija: 5 koraka

Video: Arduino EEPROM postavke Inicijalizacija: 5 koraka
Video: BTT Octopus Pro — Основы EEPROM 2024, Juli
Anonim
Image
Image
Šta je EEPROM?
Šta je EEPROM?

Zdravo svima, Svaki Arduino ima malu ugrađenu memoriju koja se zove EEPROM. Ovo možete upotrijebiti za spremanje postavki za vaš projekt u kojima će se odabrane vrijednosti zadržati između ciklusa napajanja i one će biti tamo kada sljedeći put uključite Arduino. Imam super trik koji će vas naučiti kako možete pokrenuti skup zadanih vrijednosti pri prvom pokretanju, pa se držite kako biste saznali kako.

Korak 1: Šta je EEPROM?

Šta je EEPROM?
Šta je EEPROM?

EEPROM je mala memorijska memorija, čije se vrijednosti čuvaju čak i dok je Arduino ploča isključena. Ovo djeluje kao mali tvrdi disk pa možete pohraniti parametre za sljedeći put kada uključite uređaj. Ovisno o vrsti Arduino ploče, imat ćete različitu količinu prostora za pohranu na svakoj, pa na primjer Uno ima 1024 bajta, Mega ima 4096 bajtova, a LilyPad ima 512 bajtova.

Važno je napomenuti da svi EEPROM -ovi imaju ograničen broj ciklusa pisanja. Atmel navodi očekivani životni vijek od oko 100 000 ciklusa pisanja/brisanja za EEPROM na Arduinu. Ovo može zvučati kao puno pisanja, ali može biti lako doći do ove granice ako čitate i pišete u petlji. Nakon što je lokacija napisana i izbrisana previše puta, može početi postajati nepouzdana. Možda neće vratiti ispravne podatke ili vratiti vrijednost iz susjednog bita.

Korak 2: Uvezite biblioteku

Uvezite biblioteku
Uvezite biblioteku
Uvezite biblioteku
Uvezite biblioteku
Uvezite biblioteku
Uvezite biblioteku

Da bismo koristili ovu memoriju, prvo uključujemo isporučenu biblioteku koju nudi Arduino. Biblioteka nudi dvije metode: čitanje i pisanje za odgovarajuće radnje. Funkcija čitanja prihvaća adresu s koje želimo čitati, dok funkcija pisanja prihvaća i adresu i vrijednost koju želimo zapisati.

U našem primjeru cilj je imati niz postavki spremnih pri svakom pokretanju Arduina, pa počinjemo definiranjem niza koji ćemo koristiti za pohranu i definiranjem adresa za svaku od postavki koje želimo pohraniti. U čipu gdje imamo na raspolaganju 1024 bajta, adrese će biti od 0 do 1023.

Korak 3: Postavite zastavicu inicijalizacije

Postavite zastavicu inicijalizacije
Postavite zastavicu inicijalizacije

Trik za početno postavljanje zadanih vrijednosti postavki je korištenje jedne od adresa kao pokazatelja jesu li postavke inicijalizirane ili ne. Za ovo sam upotrijebio posljednju lokaciju adrese jer se često ne koristi ni za što drugo. Funkcija loadSettings prvo će provjeriti ovu lokaciju ako je pohranjena vrijednost znak "T", a ako nije, otići će u postavku postavljanjem, ispisujući početne vrijednosti za svaku od njih. Kad to učinite, sada će postaviti vrijednost lokacije na kojoj pratimo inicijalizirane postavke na znak "T", a sljedeći put kada uključimo Arduino, više nećemo inicirati vrijednosti, već ćemo umjesto toga čitati spremljene podatke u naš niz.

Korak 4: Ažuriranje postavki

Ažuriranje postavki
Ažuriranje postavki

Za ažuriranje vrijednosti možemo koristiti funkciju pisanja kakvu smo imali pri inicijalizaciji, ali bolji način je korištenje navedene funkcije ažuriranja. Ono što ova funkcija radi je da prvo provjeri je li vrijednost koju pokušavamo spremiti ista ona koja je već u EEPROM -u, a ako jeste, ne ažurira se. Time se pokušava smanjiti broj operacija pisanja kako bi se produžio vijek trajanja EEPROM -a.

Korak 5: Uživajte

Uživajte!
Uživajte!
Uživajte!
Uživajte!

Nadam se da vam je ovaj Instructable bio od pomoći i da ste uspjeli naučiti nešto. Izvorni kod je dostupan na mojoj stranici GitHub, a veza je ispod. Ako imate prijedloge, ostavite ih u komentarima i ne zaboravite se pretplatiti na moj YouTube kanal za više sličnih videozapisa.

Preporučuje se: