Мазмұны:

Arduino EEPROM параметрлерін баптау: 5 қадам
Arduino EEPROM параметрлерін баптау: 5 қадам

Бейне: Arduino EEPROM параметрлерін баптау: 5 қадам

Бейне: Arduino EEPROM параметрлерін баптау: 5 қадам
Бейне: BTT Octopus Pro — Основы EEPROM 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 ұсынған кітапхананы қосамыз. Кітапхана екі әдісті ұсынады: сәйкес әрекеттерді оқу және жазу. Read функциясы біз оқығымыз келетін адресті қабылдайды, ал жазу функциясы біз жазғымыз келетін адресті де, мәнді де қабылдайды.

Біздің мысалда, мақсат - Arduino -ның әр басталуында дайын параметрлер жиыны болу, сондықтан біз сақтау үшін қолданылатын массивті анықтаудан және сақтағымыз келетін параметрлердің әрқайсысының мекен -жайын анықтаудан бастаймыз. Бізде 1024 байт бар чипте мекенжайлардың орналасуы 0 -ден 1023 -ке дейін болады.

3 -қадам: Инициализация жалауын орнатыңыз

Инициализация жалауын орнатыңыз
Инициализация жалауын орнатыңыз

Параметрлердің әдепкі мәндерін бастапқы орнатудағы амал - параметрлердің инициализацияланғанына қарамастан, индикатор ретінде мекенжайлардың бірін пайдалану. Мен бұл үшін соңғы мекен -жайын қолдандым, себебі ол басқа ешнәрсеге қолданылмайды. LoadSettings функциясы алдымен осы орынды тексереді, егер онда сақталатын мән «Т» таңбасы болса, ал олай болмаса, ол олардың әрқайсысы үшін бастапқы мәндерді жазып, орнату арқылы өтеді. Аяқтағаннан кейін, ол инициализацияланған параметрлерді бақылайтын орынның мәнін «T» таңбасына қояды, ал келесі жолы Arduino қосылғанда біз енді мәндерді қоспаймыз, керісінше сақталған деректерді оқимыз. біздің массив.

4 -қадам: параметрлерді жаңарту

Параметрлер жаңартылуда
Параметрлер жаңартылуда

Мәндерді жаңарту үшін біз инициализация кезінде жазу функциясын қолдана аламыз, бірақ жаңартылған функцияны пайдалану жақсы. Бұл функция не істейді, ол алдымен біз сақтауға тырысатын мән EEPROM -де бірдей екенін тексереді, егер ол жаңартылмаса. Осылайша, ол EEPROM қызмет ету мерзімін ұзарту үшін жазу операцияларының санын азайтуға тырысады.

5 -қадам: ләззат алыңыз

Ләззат алыңыз!
Ләззат алыңыз!
Ләззат алыңыз!
Ләззат алыңыз!

Бұл нұсқаулық сізге пайдалы болды және сіз бірдеңе үйрендіңіз деп үміттенемін. Бастапқы код GitHub бетімде қол жетімді және сілтеме төменде. Егер сізде қандай да бір ұсыныстар болса, оларды түсініктемелерде қалдырыңыз және ұқсас бейнелер үшін менің YouTube каналыма жазылуды ұмытпаңыз.

Ұсынылған: