Სარჩევი:

Arduino EEPROM პარამეტრების ინიციალიზაცია: 5 ნაბიჯი
Arduino EEPROM პარამეტრების ინიციალიზაცია: 5 ნაბიჯი

ვიდეო: Arduino EEPROM პარამეტრების ინიციალიზაცია: 5 ნაბიჯი

ვიდეო: Arduino EEPROM პარამეტრების ინიციალიზაცია: 5 ნაბიჯი
ვიდეო: 7 projects Build LED LCD Alarm Clock using DS1307 with Arduino | Lesson 105 2024, ნოემბერი
Anonim
Image
Image
რა არის EEPROM?
რა არის EEPROM?

Გამარჯობა ყველას, ყველა არდუინოს აქვს პატარა ჩაშენებული მეხსიერება სახელწოდებით EEPROM. თქვენ შეგიძლიათ გამოიყენოთ ეს თქვენი პროექტის პარამეტრების შესანახად, სადაც არჩეული მნიშვნელობები დაცული იქნება ენერგიის ციკლებს შორის და ისინი იქ იქნებიან, როდესაც თქვენ ჩართავთ Arduino– ს. მე მაქვს მაგარი ხრიკი, რომელიც გასწავლით თუ როგორ შეგიძლიათ დაიწყოთ ნაგულისხმევი მნიშვნელობების ნაკრები თქვენს პირველ გაშვებაზე, ასე რომ იყავით გარშემო, რომ გაარკვიოთ როგორ.

ნაბიჯი 1: რა არის EEPROM?

რა არის EEPROM?
რა არის EEPROM?

EEPROM არის მეხსიერების მცირე საცავი, რომლის ღირებულებები ინახება მაშინაც კი, როდესაც არდუინოს დაფა გამორთულია. ის მოქმედებს როგორც პატარა მყარი დისკი, ასე რომ თქვენ შეგიძლიათ შეინახოთ პარამეტრები მომდევნო დროს, როდესაც მოწყობილობას ჩართავთ. Arduino დაფის ტიპზეა დამოკიდებული, თითოეულში გექნებათ სხვადასხვა რაოდენობის საცავი, ასე რომ, მაგალითად, Uno– ს აქვს 1024 ბაიტი, მეგას აქვს 4096 ბაიტი და LilyPad– ს აქვს 512 ბაიტი.

მნიშვნელოვანია აღინიშნოს, რომ ყველა EEPROM– ს აქვს ჩაწერის ციკლის შეზღუდული რაოდენობა. Atmel განსაზღვრავს სიცოცხლის ხანგრძლივობას დაახლოებით 100 000 წერის/წაშლის ციკლისთვის EEPROM– ისთვის Arduino– ზე. ეს შეიძლება ჟღერდეს როგორც ბევრი წერა, მაგრამ ამ ლიმიტის მიღწევა ადვილი იქნება თუ კითხულობთ და წერთ მარყუჟში. მას შემდეგ, რაც ადგილი დაიწერა და წაიშალა ძალიან ბევრჯერ, ის შეიძლება გახდეს არასაიმედო. მას არ შეუძლია დააბრუნოს სწორი მონაცემები, ან დააბრუნოს მნიშვნელობა მეზობელი ბიტიდან.

ნაბიჯი 2: ბიბლიოთეკის იმპორტი

ბიბლიოთეკის იმპორტი
ბიბლიოთეკის იმპორტი
ბიბლიოთეკის იმპორტი
ბიბლიოთეკის იმპორტი
ბიბლიოთეკის იმპორტი
ბიბლიოთეკის იმპორტი

ამ მეხსიერების გამოსაყენებლად, ჩვენ პირველ რიგში ვრთავთ Arduino– ს მიერ მოწოდებულ ბიბლიოთეკას. ბიბლიოთეკა გთავაზობთ ორ მეთოდს: წაკითხვა და წერა შესაბამისი მოქმედებებისთვის. წაკითხვის ფუნქცია იღებს მისამართს, რომლის წაკითხვაც ჩვენ გვინდა, ხოლო ჩაწერის ფუნქცია იღებს როგორც მისამართს, ასევე მნიშვნელობას, რომლის დაწერაც გვინდა.

ჩვენს მაგალითში, მიზანია Arduino– ს თითოეულ დაწყებისას პარამეტრების მასივის მომზადება, ამიტომ ჩვენ ვიწყებთ მასივის განსაზღვრით, რომელსაც ჩვენ გამოვიყენებთ შესანახად და მისამართების განსაზღვრით თითოეული იმ პარამეტრისთვის, რომლის შენახვაც ჩვენ გვინდა. ჩიპში, სადაც გვაქვს 1024 ბაიტი, მისამართების ადგილები იქნება 0 -დან 1023 -მდე.

ნაბიჯი 3: დააყენეთ ინიციალიზაციის დროშა

დააყენეთ ინიციალიზაციის დროშა
დააყენეთ ინიციალიზაციის დროშა

პარამეტრების ნაგულისხმევი მნიშვნელობების საწყისი პარამეტრის ხრიკი არის გამოიყენოთ ერთი მისამართი, როგორც ინდიკატორი პარამეტრების ინიციალიზებულია თუ არა. მე გამოვიყენე ბოლო მისამართის ადგილმდებარეობა, რადგან ის ხშირად სხვა რამისთვის არ გამოიყენება. LoadSettings ფუნქცია პირველ რიგში შეამოწმებს ამ ადგილს, თუ იქ შენახული მნიშვნელობა არის „T“სიმბოლო და თუ არა, ის გადავა პარამეტრებით და წერს თითოეულ მათგანს საწყის მნიშვნელობებს. ერთხელ რომ გაკეთდეს, ის ახლა ადგენს იმ ადგილის მნიშვნელობას, სადაც ჩვენ ვინახავთ ინიციალიზებულ პარამეტრებს "T" სიმბოლოზე და შემდეგ ჯერზე Arduino- ს ჩართვისას ჩვენ აღარ დავიწყებთ მნიშვნელობებს, არამედ ვიკითხავთ შენახულ მონაცემებს ჩვენი მასივი.

ნაბიჯი 4: პარამეტრების განახლება

პარამეტრების განახლება
პარამეტრების განახლება

ღირებულებების განახლებისთვის ჩვენ შეგვიძლია გამოვიყენოთ ჩაწერის ფუნქცია, როგორც ეს გვქონდა ინიციალიზაციაში, მაგრამ უკეთესი გზაა გამოვიყენოთ მოწოდებული განახლების ფუნქცია. რას აკეთებს ეს ფუნქცია არის ის, რომ ის პირველად ამოწმებს არის თუ არა მნიშვნელობა, რომლის შენახვასაც ჩვენ ვცდილობთ, იგივეა უკვე EEPROM– ში და თუ არის, ის არ განახლდება. ამით ის ცდილობს მინიმუმამდე დაიყვანოს ჩაწერის ოპერაციების რაოდენობა EEPROM- ის სიცოცხლის გახანგრძლივების მიზნით.

ნაბიჯი 5: ისიამოვნეთ

ისიამოვნეთ!
ისიამოვნეთ!
ისიამოვნეთ!
ისიამოვნეთ!

ვიმედოვნებ, რომ ეს ინსტრუქცია თქვენთვის სასარგებლო იყო და თქვენ შეძელით რაღაცის სწავლა. წყაროს კოდი ხელმისაწვდომია ჩემს GitHub გვერდზე და ბმული ქვემოთ. თუ თქვენ გაქვთ რაიმე შემოთავაზება გთხოვთ დატოვეთ ისინი კომენტარებში და არ დაგავიწყდეთ გამოიწეროთ ჩემი YouTube არხი სხვა მსგავსი ვიდეოებისთვის.

გირჩევთ: