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, Srpanj
Anonim
Image
Image
Što je EEPROM?
Što je EEPROM?

Pozdrav 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 tu sljedeći put kada uključite Arduino. Imam sjajan 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: Što je EEPROM?

Što je EEPROM?
Što 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 spremiti 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 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 doseći tu granicu ako čitate i pišete u petlji. Nakon što je lokacija napisana i izbrisana previše puta, može postati nepouzdana. Možda neće vratiti točne 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. Knjižnica 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 koristio posljednju lokaciju adrese jer se često ne koristi ni za što drugo. Funkcija loadSettings prvo će provjeriti ovo mjesto ako je tamo pohranjena vrijednost "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 mjesta na kojem pratimo inicijalizirane postavke na znak "T", a sljedeći put kad 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 upotrijebiti 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 jest, ne ažurira se. Time pokušava minimizirati broj operacija pisanja kako bi produžio vijek trajanja EEPROM -a.

Korak 5: Uživajte

Uživati!
Uživati!
Uživati!
Uživati!

Nadam se da vam je ovaj Instructable bio od pomoći i da ste uspjeli nešto naučiti. Izvorni kod dostupan je 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čeni: