Talaan ng mga Nilalaman:

Mga setting ng Arduino EEPROM Initialization: 5 Mga Hakbang
Mga setting ng Arduino EEPROM Initialization: 5 Mga Hakbang

Video: Mga setting ng Arduino EEPROM Initialization: 5 Mga Hakbang

Video: Mga setting ng Arduino EEPROM Initialization: 5 Mga Hakbang
Video: Arduino MASTERCLASS | Full Programming Workshop in 90 Minutes! 2024, Hulyo
Anonim
Image
Image
Ano ang isang EEPROM?
Ano ang isang EEPROM?

Kumusta Lahat, Ang bawat Arduino ay may isang maliit na built in memory na tinatawag na EEPROM. Maaari mo itong gamitin upang mag-imbak ng mga setting para sa iyong proyekto kung saan ang mga napiling halaga ay itatago sa pagitan ng mga cycle ng kuryente at nandiyan sila sa susunod na paganahin mo ang Arduino. Mayroon akong isang cool na trick na magtuturo sa iyo kung paano mo maiinit ang isang hanay ng mga default na halaga sa iyong unang pagtakbo kaya dumikit ka upang malaman kung paano.

Hakbang 1: Ano ang isang EEPROM?

Ano ang isang EEPROM?
Ano ang isang EEPROM?

Ang isang EEPROM ay isang maliit na imbakan ng memorya, na ang mga halaga ay itinatago kahit na ang Arduino board ay naka-off. Gumagawa ito tulad ng isang maliit na hard drive upang maaari kang mag-imbak ng mga parameter para sa susunod na paganahin mo ang aparato. Nakasalalay sa uri ng Arduino board, magkakaroon ka ng magkakaibang halaga ng imbakan na magagamit sa bawat isa, kaya halimbawa ang Uno ay may 1024 bytes, ang Mega ay may 4096 bytes at ang LilyPad ay may 512 bytes.

Mahalagang tandaan na ang lahat ng mga EEPROM ay may isang limitadong bilang ng mga cycle ng pagsulat. Tinutukoy ni Atmel ang isang pag-asa sa buhay na humigit-kumulang sa 100 000 na pagsulat / burahin ang mga ikot para sa EEPROM sa Arduino. Maaari itong parang tunog ng maraming pagsusulat, ngunit maaaring madali itong maabot ang limitasyong ito kung nagbabasa ka at sumusulat sa isang loop. Kapag ang isang lokasyon ay naisulat at nabura ng maraming beses maaari itong magsimulang maging hindi maaasahan. Maaaring hindi nito ibalik ang tamang data, o ibalik ang halaga mula sa isang kalapit na bit.

Hakbang 2: I-import ang Library

I-import ang Library
I-import ang Library
I-import ang Library
I-import ang Library
I-import ang Library
I-import ang Library

Upang magamit ang memorya na ito, isinasama muna namin ang ibinigay na silid-aklatan ng Arduino. Nagbibigay ang silid-aklatan ng dalawang pamamaraan: magbasa at magsulat para sa mga naaayon sa pagkilos. Tumatanggap ang function na basahin ang address na nais naming basahin, habang ang function ng pagsulat ay tumatanggap ng parehong address at ang halagang nais naming isulat.

Sa aming halimbawa, ang layunin ay magkaroon ng isang hanay ng mga setting na handa sa bawat pagsisimula ng Arduino, kaya nagsisimula kami sa pamamagitan ng pagtukoy sa array na gagamitin namin para sa pag-iimbak at pagtukoy sa mga address para sa bawat setting na nais naming itabi. Sa isang chip kung saan mayroon kaming magagamit na 1024 bytes, ang mga lokasyon ng address ay magiging 0 hanggang 1023.

Hakbang 3: Itakda ang Flag ng Initialization

Itakda ang Flag ng Pauna
Itakda ang Flag ng Pauna

Ang trick para sa paunang setting ng mga default na halaga para sa mga setting ay ang paggamit ng isa sa mga address bilang isang tagapagpahiwatig kung ang mga setting ay na-initialize na o hindi. Ginamit ko ang huling lokasyon ng address para dito dahil madalas itong hindi ginagamit para sa iba pa. Suriin muna ng pagpapaandar ng loadSettings ang lokasyon na ito kung ang halagang nakaimbak doon ay isang "T" na character at kung hindi, pupunta ito sa setting sa pamamagitan ng pagtatakda, pagsulat ng mga paunang halaga para sa bawat isa sa kanila. Kapag tapos na, itatakda na nito ang halaga ng lokasyon kung saan sinusubaybayan namin ang mga inisyal na setting sa character na "T" at sa susunod na paganahin namin ang Arduino, hindi na namin i-init ang mga halaga, ngunit sa halip ay basahin ang nai-save na data sa ang aming array.

Hakbang 4: Ina-update ang Mga Setting

Ina-update ang Mga Setting
Ina-update ang Mga Setting

Para sa pag-update ng mga halaga maaari naming gamitin ang pagsulat na pag-andar tulad ng pagkakaroon namin sa pagsisimula, ngunit ang isang mas mahusay na paraan ay ang paggamit ng ibinigay na pagpapa-andar ng pag-update. Ang ginagawa ng pagpapaandar na ito ay ang unang pagsusuri kung ang halaga na sinusubukan naming i-save ay pareho sa EEPROM at kung ito ay hindi ito nag-a-update. Sa pamamagitan nito, sinusubukan nitong mabawasan ang bilang ng mga operasyon sa pagsusulat upang mapahaba ang buhay ng EEPROM.

Hakbang 5: Masiyahan

Mag-enjoy!
Mag-enjoy!
Mag-enjoy!
Mag-enjoy!

Inaasahan kong ang Instructable na ito ay kapaki-pakinabang sa iyo at may nagawa kang malaman. Magagamit ang source code sa aking pahina sa GitHub at ang link ay nasa ibaba. Kung mayroon kang anumang mga mungkahi mangyaring iwanan ang mga ito sa mga komento at huwag kalimutang mag-subscribe sa aking channel sa YouTube para sa higit pang mga katulad na video.

Inirerekumendang: