Мазмуну:

Arduino EEPROM Орнотууларын баштоо: 5 кадам
Arduino EEPROM Орнотууларын баштоо: 5 кадам

Video: Arduino EEPROM Орнотууларын баштоо: 5 кадам

Video: Arduino EEPROM Орнотууларын баштоо: 5 кадам
Video: Pronterface and Cura Slic3rs 2024, Июль
Anonim
Image
Image
EEPROM деген эмне?
EEPROM деген эмне?

Салам баарына, Ар бир Ардуинодо 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" белгисине коет жана кийинки жолу Arduino күйгүзүлгөндө, биз мындан ары баалуулуктарды баштайбыз, тескерисинче сакталган маалыматты окуйбуз биздин массив.

4 -кадам: Орнотууларды жаңыртуу

Орнотуулар жаңыртылууда
Орнотуулар жаңыртылууда

Маанилерди жаңыртуу үчүн, биз жазуу функциясын баштапкы инициализацияда колдоно алабыз, бирок жакшыртылган функция - бул жаңыртуу функциясын колдонуу. Бул функция эмне кылат, ал биринчи кезекте биз сактоого аракет кылып жаткан маанибиз EEPROM менен бирдей экендигин текшерет жана эгерде ал жаңыртылбаса. Муну менен ал EEPROMдун иштөө мөөнөтүн узартуу үчүн жазуу операцияларынын санын азайтууга аракет кылат.

5 -кадам: ырахат алыңыз

Ырахат алыңыз!
Ырахат алыңыз!
Ырахат алыңыз!
Ырахат алыңыз!

Бул көрсөтмө сизге пайдалуу болду жана сиз бир нерсени үйрөнүүгө жетиштиңиз деп үмүттөнөм. Булак коду GitHub баракчамда жеткиликтүү жана шилтеме төмөндө. Эгерде сизде кандайдыр бир сунуштар болсо, аларды комментарийге калтырыңыз жана дагы окшош видеолор үчүн менин YouTube каналыма жазылууну унутпаңыз.

Сунушталууда: