Բովանդակություն:

Arduino EEPROM կարգավորումներ Նախնականացում `5 քայլ
Arduino EEPROM կարգավորումներ Նախնականացում `5 քայլ

Video: Arduino EEPROM կարգավորումներ Նախնականացում `5 քայլ

Video: Arduino EEPROM կարգավորումներ Նախնականացում `5 քայլ
Video: BTT Octopus Pro - EEPROM Basics 2024, Հուլիսի
Anonim
Image
Image
Ի՞նչ է EEPROM- ը
Ի՞նչ է EEPROM- ը

Բարեւ բոլորին, Յուրաքանչյուր Arduino- ում կա մի փոքրիկ ներկառուցված հիշողություն, որը կոչվում է EEPROM: Դուք կարող եք օգտագործել այն ՝ ձեր նախագծի կարգավորումները պահելու համար, որտեղ ընտրված արժեքները կպահպանվեն էներգիայի ցիկլերի միջև և դրանք կլինեն հաջորդ անգամ, երբ միացնեք Arduino- ն: Ես մի հիանալի հնարք ունեմ, որը կսովորեցնի ձեզ, թե ինչպես կարող եք ձեր առաջին վազքի ժամանակ նախանշել մի շարք կանխադրված արժեքներ: Մնացեք, որպեսզի իմանաք, թե ինչպես:

Քայլ 1. Ի՞նչ է EEPROM- ը:

Ի՞նչ է EEPROM- ը
Ի՞նչ է EEPROM- ը

EEPROM- ը հիշողության փոքր պահեստ է, որի արժեքները պահպանվում են նույնիսկ այն ժամանակ, երբ Arduino տախտակն անջատված է: Սա գործում է որպես փոքրիկ կոշտ սկավառակ, որպեսզի կարողանաք պահպանել ձեր պարամետրերը սարքը միացնելուց հաջորդ անգամ: Կախված Arduino տախտակի տեսակից ՝ յուրաքանչյուրում կունենաք տարբեր քանակությամբ պահեստ, այնպես որ, օրինակ, Uno- ն ունի 1024 բայթ, Mega- ն ՝ 4096 բայթ, իսկ LilyPad- ը ՝ 512 բայթ:

Կարևոր է նշել, որ բոլոր EEPROM- ները ունեն սահմանափակ թվով գրելու ցիկլեր: Atmel- ը սահմանում է Arduino- ի EEPROM- ի համար կյանքի տևողությունը մոտ 100 000 գրելու/ջնջելու ցիկլեր: Սա կարող է թվալ շատ գրվածքների նման, բայց այս սահմանին հասնելը կարող է հեշտ լինել, եթե ընթերցում և գրում եք շրջանագծով: Տեղանքը շատ անգամ գրվելուց և ջնջվելուց հետո այն կարող է անհուսալի դառնալ: Այն չի կարող վերադարձնել ճիշտ տվյալները կամ վերադարձնել արժեքը հարևան բիթից:

Քայլ 2: Ներմուծեք գրադարանը

Ներմուծեք գրադարանը
Ներմուծեք գրադարանը
Ներմուծեք գրադարանը
Ներմուծեք գրադարանը
Ներմուծեք գրադարանը
Ներմուծեք գրադարանը

Այս հիշողությունն օգտագործելու համար մենք նախ ներառում ենք Arduino- ի տրամադրած գրադարանը: Գրադարանը տրամադրում է երկու եղանակ ՝ կարդալ և գրել համապատասխան գործողությունների համար: Ընթերցման գործառույթը ընդունում է այն հասցեն, որից մենք ցանկանում ենք կարդալ, մինչդեռ գրելու գործառույթը ընդունում է և՛ հասցեն, և՛ արժեքը, որը մենք ցանկանում ենք գրել:

Մեր օրինակում նպատակն է ունենալ Arduino- ի յուրաքանչյուր մեկնարկի պարամետրերի զանգված, այնպես որ մենք սկսում ենք սահմանելով այն զանգվածը, որը մենք կօգտագործենք պահեստավորման համար և սահմանելով հասցեները յուրաքանչյուր պարամետրերի համար, որոնք մենք ցանկանում ենք պահել: Չիպում, որտեղ մենք ունենք 1024 բայթ, հասցեների գտնվելու վայրը կլինի 0 -ից 1023 -ը:

Քայլ 3: Սահմանեք սկզբնավորման դրոշը

Սահմանեք սկզբնավորման դրոշը
Սահմանեք սկզբնավորման դրոշը

Պարամետրերի կանխադրված արժեքների նախնական կարգավորման հնարքն այն է, որ հասցեներից մեկը օգտագործվի որպես ցուցանիշ `կարգավորումները նախաստորագրված են, թե ոչ: Ես դրա համար օգտագործել եմ վերջին հասցեի վայրը, քանի որ այն հաճախ չի օգտագործվում որևէ այլ բանի համար: LoadSettings գործառույթը նախ կստուգի այս վայրը, եթե այնտեղ պահված արժեքը «T» նիշ է, իսկ եթե ոչ, ապա այն կանցնի կարգավորումների ՝ յուրաքանչյուրի համար գրելով սկզբնական արժեքները: Ավարտելուց հետո այն այժմ կդնի այն վայրի արժեքը, որտեղ մենք հետևում ենք սկզբնական պարամետրերին «T» նիշին, իսկ հաջորդ անգամ, երբ միացնում ենք Arduino- ն, մենք այլևս չենք նախաստորագրում արժեքները, այլ փոխարենը կարդում ենք պահված տվյալները մեր զանգվածը:

Քայլ 4: Կարգավորումների թարմացում

Կարգավորումների թարմացում
Կարգավորումների թարմացում

Արժեքները թարմացնելու համար մենք կարող ենք կամ օգտագործել գրելու գործառույթը, ինչպես այն ունեինք սկզբնավորման ժամանակ, բայց ավելի լավ միջոց է տրամադրված թարմացման գործառույթն օգտագործել: Այս գործառույթը կատարում է այն, որ այն նախ ստուգում է, թե արդյոք այն արժեքը, որը մենք փորձում ենք պահպանել, նույնն է, ինչ արդեն EEPROM- ում, և եթե այն այդպես է, այն չի թարմացվում: Դրանով նա փորձում է նվազագույնի հասցնել գրելու գործողությունների թիվը `EEPROM- ի կյանքը երկարացնելու համար:

Քայլ 5: Վայելեք:

Վայելեք
Վայելեք
Վայելեք
Վայելեք

Հուսով եմ, որ այս Հրահանգը օգտակար էր ձեզ համար, և որ դուք կարողացաք ինչ -որ բան սովորել: Աղբյուրի կոդը հասանելի է իմ GitHub էջում, իսկ հղումը ՝ ստորև: Եթե ունեք որևէ առաջարկ, խնդրում ենք թողնել դրանք մեկնաբանություններում և չմոռանաք բաժանորդագրվել իմ YouTube ալիքին ավելի շատ նմանատիպ տեսանյութերի համար:

Խորհուրդ ենք տալիս: