በአርዱዲኖ ውስጥ መረጃን እንዴት ማከማቸት እንደሚቻል

ዝርዝር ሁኔታ:

በአርዱዲኖ ውስጥ መረጃን እንዴት ማከማቸት እንደሚቻል
በአርዱዲኖ ውስጥ መረጃን እንዴት ማከማቸት እንደሚቻል

ቪዲዮ: በአርዱዲኖ ውስጥ መረጃን እንዴት ማከማቸት እንደሚቻል

ቪዲዮ: በአርዱዲኖ ውስጥ መረጃን እንዴት ማከማቸት እንደሚቻል
ቪዲዮ: On/OFF LED using Arduino Programming Full Video Basic To Advanced Languages #onoffledusingarduino 2024, ግንቦት
Anonim

የአርዱዲኖ ቦርዶች በርካታ የማስታወስ ዓይነቶች አሏቸው ፡፡ በመጀመሪያ ፣ እሱ የማይንቀሳቀስ ራም ነው (የዘፈቀደ መዳረሻ ማህደረ ትውስታ) ፣ በፕሮግራሙ አፈፃፀም ወቅት ተለዋዋጮችን ለማከማቸት የሚያገለግል ፡፡ በሁለተኛ ደረጃ እርስዎ የፃ you'veቸውን ንድፎች የሚያከማች ፍላሽ ሜሞሪ ነው ፡፡ እና በሶስተኛ ደረጃ ፣ መረጃን በቋሚነት ለማከማቸት ሊያገለግል የሚችል EEPROM ነው ፡፡ የመጀመሪያው የማስታወሻ ዓይነት ተለዋዋጭ ነው ፣ አርዱinoኖን እንደገና ካነሳ በኋላ ሁሉንም መረጃዎች ያጣል። ሁለተኛው ሁለት አይነቶች የማስታወሻ ኃይል ኃይሉ ከተዘጋ በኋላም ቢሆን በአዲስ እስኪተላለፍ ድረስ መረጃን ያከማቻሉ ፡፡ የመጨረሻው የማስታወሻ ዓይነት - EEPROM - መረጃ ለመጻፍ ፣ ለማከማቸት እና እንደአስፈላጊነቱ እንዲነበብ ያስችለዋል ፡፡ ይህንን ትውስታ አሁን እንመለከታለን ፡፡

በ EEPROM Arduino ውስጥ መረጃን ማከማቸት
በ EEPROM Arduino ውስጥ መረጃን ማከማቸት

አስፈላጊ

  • - አርዱዲኖ;
  • - ኮምፒተር.

መመሪያዎች

ደረጃ 1

EEPROM በኤሌክትሪክ ሊጠፋ የሚችል ፕሮግራም-ሊነበብ-ብቻ ማህደረ ትውስታን ያመለክታል ፡፡ በኤሌክትሪክ መሰረዝ ሊነበብ የሚችል-ብቻ ማህደረ ትውስታ። ኃይሉ ከተዘጋ በኋላ በዚህ ማህደረ ትውስታ ውስጥ ያለው መረጃ ለአስር ዓመታት ሊከማች ይችላል። እንደገና የመፃፍ ዑደቶች ብዛት በብዙ ሚሊዮን ጊዜዎች ቅደም ተከተል ላይ ነው።

በአርዱዲኖ ውስጥ ያለው የ EEPROM ማህደረ ትውስታ መጠን በጣም ውስን ነው-በኤቲሜጋ 328 ማይክሮ መቆጣጠሪያ (ለምሳሌ አርዱይኖ UNO እና ናኖ) ላይ የተመሰረቱ ቦርዶች የማስታወሻው መጠን 1 ኪባ ነው ፣ ለ ATmega168 እና ለ ATmega8 ቦርዶች - 512 ባይት ፣ ለ ATmega2560 እና ATmega1280 - 4 ኪባ

ደረጃ 2

ከአርዱዲኖ ከ EEPROM ጋር ለመስራት አንድ ልዩ ቤተ-መጽሐፍት ተጽ beenል ፣ ይህም በነባሪነት በአርዱዲኖ አይዲኢ ውስጥ ተካትቷል ፡፡ ቤተ-መጽሐፍት የሚከተሉትን ገጽታዎች ይ featuresል ፡፡

ያንብቡ (አድራሻ) - ከ EEPROM 1 ባይት ያነባል; አድራሻ - መረጃው የሚነበብበት አድራሻ (ሕዋስ ከ 0 ጀምሮ);

መጻፍ (አድራሻ ፣ እሴት) - የእሴቱን እሴት (1 ባይት ፣ ቁጥር ከ 0 እስከ 255) በአድራሻው አድራሻ ላይ ወዳለው ማህደረ ትውስታ ይጽፋል ፤

ዝመና (አድራሻ ፣ እሴት) - የድሮው ይዘቱ ከአዲሱ የሚለይ ከሆነ በአድራሻው ላይ ያለውን እሴት ይተካል ፤

ማግኘት (አድራሻ ፣ መረጃ) - የተገለጸውን ዓይነት መረጃ በአድራሻው ከማህደረ ትውስታ ያነባል ፤

ማስቀመጥ (አድራሻ ፣ መረጃ) - የተገለጸውን ዓይነት መረጃ በአድራሻው ላይ ለማስታወስ ይጽፋል ፤

EEPROM [አድራሻ] - መረጃን ለመፃፍ እና ከማስታወስ ለማንበብ የ “EEPROM” መለያ እንደ ድርድር እንዲጠቀሙ ያስችልዎታል።

በንድፍ ውስጥ ያለውን ቤተ-መጽሐፍት ለመጠቀም ከ # ያካትቱ EEPROM.h መመሪያ ጋር እናካትታለን ፡፡

ደረጃ 3

ሁለት ኢቲጀሮችን ወደ EEPROM እንፃፍ እና ከዚያ ከ EEPROM አንብበን ወደ ተከታታይ ወደብ እናወጣቸው ፡፡

ከ 0 እስከ 255 ባሉት ቁጥሮች ላይ ችግሮች የሉም ፣ እነሱ 1 ባይት ትውስታን ብቻ ይይዛሉ እና የ EEPROM.write () ተግባርን በመጠቀም ወደ ተፈለገው ቦታ ይጻፋሉ ፡፡

ቁጥሩ ከ 255 በላይ ከሆነ ኦፕሬተሮችን ከፍተኛ ባይት () እና ዝቅተኛ ባይት () በመጠቀም በ ባይት መከፋፈል አለበት እና እያንዳንዱ ባይት ለራሱ ሕዋስ መፃፍ አለበት ፡፡ በዚህ ጉዳይ ውስጥ ከፍተኛው ቁጥር 65536 (ወይም 2 ^ 16) ነው ፡፡

ተመልከት ፣ በሴል 0 ውስጥ ያለው ተከታታይ ወደብ መቆጣጠሪያ በቀላሉ ከ 255 በታች የሆነ ቁጥር ያሳያል ፡፡ በሴሎች 1 እና 2 ውስጥ ብዛት 789 ተከማችቷል ፡፡በዚህ ሁኔታ ሴል 1 የተትረፈረፈውን መጠን 3 ያከማቻል ፣ እና ሴል 2 ደግሞ የጎደለውን ቁጥር 21 ያከማቻል (ማለትም 789 = 3 * 256 + 21) ፡ ወደ ባይት የተተነተነ ብዛት ለመሰብሰብ ቃል () ተግባር አለ-int val = word (hi, low) ፣ ሃይ እና ዝቅተኛ የከፍተኛ እና ዝቅተኛ ባይቶች እሴቶች ናቸው ፡፡

እኛ ባልፃፍናቸው ሌሎች ሁሉም ህዋሳት ውስጥ 255 ቁጥሮች ተከማችተዋል ፡፡

ኢንቲጀርሶችን ወደ EEPROM አርዱinoኖ መጻፍ
ኢንቲጀርሶችን ወደ EEPROM አርዱinoኖ መጻፍ

ደረጃ 4

ተንሳፋፊ ነጥቦችን እና ሕብረቁምፊዎችን ለመጻፍ የ EEPROM.put () ዘዴን ይጠቀሙ እና ለማንበብ EEPROM.get () ይጠቀሙ።

በማዋቀር () አሠራር ውስጥ በመጀመሪያ ተንሳፋፊውን ነጥብ ቁጥር እንጽፋለን ፡፡ ከዚያ የተንሳፋፊው ዓይነት በሚይዛቸው የማስታወሻ ሴሎች ብዛት እንሸጋገራለን እና የ 20 ሕዋሶችን አቅም ያለው የቻርተር ገመድ እንጽፋለን ፡፡

በሉፕ () ሂደት ውስጥ ሁሉንም የማህደረ ትውስታ ህዋሳትን እናነባለን እና በመጀመሪያ እንደ "ተንሳፋፊ" አይነት እና ከዚያ እንደ "ቻር" አይነት ዲክሪፕት ለማድረግ እና ውጤቱን ወደ ተከታታይ ወደብ እናወጣለን ፡፡

ከ 0 እስከ 3 ባለው ሕዋሶች ውስጥ ያለው እሴት በትክክል እንደ ተንሳፋፊ ነጥብ ቁጥር እና ከ 4 ኛ ጀምሮ - እንደ አንድ ሕብረቁምፊ እንደተገለጸ ማየት ይችላሉ።

የተገኙት እሴቶች ኦፍፍ (ፍሰት) እና ናን (ቁጥር አይደለም) ቁጥሩ በትክክል ወደ ተንሳፋፊ ነጥብ ቁጥር ሊለወጥ እንደማይችል ያመለክታሉ። የትኞቹ የማስታወሻ ሴሎች እንደሚይዙ ምን ዓይነት መረጃ በትክክል ካወቁ ከዚያ ምንም ችግር አይኖርብዎትም ፡፡

ወደ EEPROM አርዱinoኖ ተንሳፋፊ ነጥብ ቁጥሮች እና ሕብረቁምፊዎች መጻፍ
ወደ EEPROM አርዱinoኖ ተንሳፋፊ ነጥብ ቁጥሮች እና ሕብረቁምፊዎች መጻፍ

ደረጃ 5

በጣም ምቹ የሆነ ባህሪ የማስታወስ ሴሎችን እንደ EEPROM ድርድር አካላት ማመልከት ነው። በዚህ ረቂቅ ንድፍ ውስጥ በማዋቀር () ሂደት ውስጥ በመጀመሪያ መረጃውን በመጀመሪያዎቹ 4 ባቶች ውስጥ እንጽፋለን እና በሉፕ () አሠራር ውስጥ በየደቂቃው ከሁሉም ህዋሳት መረጃዎችን በማንበብ ወደ ተከታታይ ወደብ እናወጣቸዋለን ፡፡

የሚመከር: