فهرست مطالب:

افزودن 24LC256 EEPROM به آردوینو به دلیل: 3 مرحله
افزودن 24LC256 EEPROM به آردوینو به دلیل: 3 مرحله
Anonim
افزودن 24LC256 EEPROM به Arduino Due
افزودن 24LC256 EEPROM به Arduino Due

آردوینو فاقد eeprom است. این دستورالعمل یکی را اضافه می کند و به شما امکان می دهد مقادیری را در حافظه غیر فرار ذخیره کنید که از بروزرسانی سیستم عامل arduino جان سالم به در ببرند.

مرحله 1: تخته نان

تخته نان
تخته نان

من دستورالعمل های بسیار خوبی در اینجا وجود دارد: پین های 1 تا 4 و پین 7 زمین شده اند. پین 8 به منبع تغذیه 3.3 ولت متصل است. سیم های زرد (پین 6) و سفید (پین 5) متصل به پین های i2c SDA (داده) و SCL (ساعت) در تابلوی سررسید (شماره 21 و 20))

مرحله 2: زمان کد

زمان کد
زمان کد

در اینجا چند قطعه کد وجود دارد که من در طرح های خود استفاده می کنم. در مرحله اول ، سرصفحه های کتابخانه Wire را در نزدیکی بالای طرح خود قرار دهید: صفحه قابلیت نوشتن در تراشه نیز). توجه داشته باشید که یک تعریف کلان از 0x50 وجود دارد. این آدرس تراشه در گذرگاه i2c است (می توانید بیش از یک مورد i2c را در یک گذرگاه i2c متصل کرده و با تغییر آدرس با کدام مورد انتخاب کنید). / * این دو تابع به ما کمک می کند تا در تراشه 24LC256 EEPROM بنویسیم */ #deefine EEPROM_ADDR 0x50 void EEPROM_write (int addr بدون امضا ، داده های بایت) {int rdata = data؛ Wire.beginTransmission (EEPROM_ADDR) ؛ Wire.write ((int) (addr >> 8))؛ // MSB Wire.write ((int) (addr & 0xFF))؛ // LSB Wire.write (rdata) ؛ Wire.endTransmission ()؛ //Serial.print("EEPROM بنویس: addr: ")؛ //Serial.print(addr) ؛ //Serial.print ("")؛ //Serial.println (داده) ؛ تأخیر (5) ؛ } بایت EEPROM_read (int addr بدون امضا) {بایت داده = 0xFF؛ Wire.beginTransmission (EEPROM_ADDR) ؛ Wire.write ((int) (addr >> 8))؛ // MSB Wire.write ((int) (addr & 0xFF))؛ // LSB Wire.endTransmission ()؛ سیم. درخواست از (EEPROM_ADDR ، 1) ؛ if (Wire.available ()) data = Wire.read ()؛ //Serial.print("EEPROM بخوانید: addr: ")؛ //Serial.print(addr) ؛ //Serial.print ("")؛ //Serial.println (داده) ؛ تأخیر (5) ؛ بازگشت داده ها ؛ } اگر می خواهید خروجی اشکال زدایی را ببینید ، می توانید خطوط Serial.print (…) را کامنت گذاری کنید. در تابع () arduinos setup ، کتابخانه سیم را راه اندازی می کنید و می توانید در مقادیر اولیه بخوانید. در اینجا من در دو بایت (flags و max_cc) ، دو کلمه (lean_min و lean_max) و مجموعه ای از کلمات sd_max [3] خواندم: // مقادیر ذخیره شده در EEPROM Wire.begin ()؛ پرچم ها = EEPROM_read (0) ؛ max_cc = EEPROM_read (1) ؛ lean_min = کلمه (EEPROM_read (3) ، EEPROM_read (2)) ؛ lean_max = word (EEPROM_read (5) ، EEPROM_read (4)) ؛ برای (int j = 0 ؛ j <3؛ j) {sd_max [j] = کلمه (EEPROM_read (7 j*2) ، EEPROM_read (6 j*2)) ؛ } در اینجا کمی کد وجود دارد که آنها را در EEPROM می نویسد: EEPROM_write (0 ، flags) ؛ EEPROM_write (1 ، max_cc) ؛ EEPROM_write (2 ، lowByte (lean_min)) ؛ EEPROM_write (3 ، highByte (lean_min)) ؛ EEPROM_write (4 ، lowByte (lean_max)) ؛ EEPROM_write (5 ، highByte (lean_max)) ؛ برای (int j = 0 ؛ j <3؛ j) {EEPROM_write (6 j*2 ، lowByte (sd_max [j])) ؛ EEPROM_write (7 j*2 ، highByte (sd_max [j])) ؛ } واقعاً همینطور است.

مرحله 3: سیم کشی کنید

Wire It Up
Wire It Up

آن را روی تخته ورود وصل کنید تا به محفظه پیچیده شود و کارها انجام شود.

توصیه شده: