أخي الكريم ... افتراضيا ً ذاكرة الإيبروم تحمل القيمة 255 أي 0xff ...
بداية من القائمة Tools اختر EEPROM Editor ستظهر لك ذاكرة الإيبروم الخاصة بالبيك الذي تبرمجه و عناوين سجلاتها و ستلاحظ أن جميعها تحمل القيمة FF أي 255 ... انظر إلى خانة Value التي بجانب الزر Fill ... ضع فيها صفرين أي 00 و إضغط زر Fill فتلاحظ أن ذاكرة الإيبروم تم تصفيرها بالكامل ... إضغط زر Save فتفتح لك نافذة الحفظ ... قم بحفظ الملف بدلاً من ملف الهيكس الرئيسي للبرنامج الخاص بك ... أغلق النافذة و قم بعمل بناء لملف الهيكس مجدداً من خلال الضغط على Build ... الآن قم بحرق البرنامج على البيك أو جربه على البروتس و ستلاحظ أن القيمة الإفتراضية لذاكرة الإيبروم أصبحت صفرا ً و بغض النظر عن نوع المبرمجة التي تستعملها سيتم تصفير ذاكرة الإيبروم تلقائيا ً عند برمجة البيك بدون العودة لأي إعدادات إضافية في المبرمجة ... هذا بما يخص موضوع قيمة ذاكرة الإيبروم الإفتراضية ...
أما بخصوص حفظ المعلومات فإن ذاكرة الإيبروم تحافظ على المعلومات حتى بعد إنقطاع التيار الكهربائي عن البيك و يمكن أن تعتبرها مثل كرت ذاكرة الموبايل أو الفلاش ميموري الخاصة بالكمبيوتر ...
أما بخصوص القراءة و الكتابة إلى ذاكرة الإيبروم فلابد لك من تعريف متغير من نوع short بداية الأمر ثم تستدعي دالة القراءة من ذاكرة الإيبروم ...
مثال ...
نعرف متغيرين من نوع short
unsigned short Ad1;
unsigned short Ad2;
الآن نريد أن نقرأ من ذاكرة الإيبروم و لنفرض من العنوانين 0x00 , 0x0A
فنكتب التالي :
Ad1=EEPROM_Read(0x00);
Ad1=EEPROM_Read(0x0A);
و للكتابة نستحدم الدالة التالية :
EEPROM_Write(عنوان الذاكرة ,القيمة المراد كتابتها);
مثلا لو أردنا حفظ الرقم 255 مثلا ً في العنوان 0x00 نكتب
EEPROM_Write(0x00,0xFF);
أما بخصوص العناوين فإنك عند فتح النافذة التي أخبرتك عنها سابقا ً من قائمة الأدوات ستلاحظ ذاكرة الإيبروم موضحة في جدول ... أول حقل منه يساراً اسمه Addr و هو العنوان و في كل عنوان تستطيع تخزين القيمة التي تريدها و طبعاً تختلف هذه العناوين و تسمياتها و سعتها باحتلاف نوع البيك المستخدم ... مثلا لو كنت أستخدم في مشروعي بيك PIC16F630 مثلاً فعند فتح نافذة محرر الإيبروم سألاحظ أن العناوين المتوفرة في ذاكرة هذا البيك هي كالتالي :
0000
0010
0020
0030
0040
0050
0060
0070
أي في ذاكرة هذا البيك توجد ثمانية عناوين ... العنوان الأول 0000 يعبر عنه بالقيمة 0x00 و العنوان 0010 يعبر عنه بالقيمة 0x0A و العنوان 0020 يعبر عنه بالقيمة 0x14 و هكذا ... ( يمكنك الإستعانة بالحاسبة الموجودة في المايكروسي للتحويل ) افتح الحاسبة و قم بالتأشير على خانة 8bit الموجودة على اليسار ... ثم ضع رقم عنوان الذاكرة في خانة ال DESIMAL و سيظهر لك الرقم المطلوب في خانة HEXADECIMAL ... مثلا لو كتبت 0010 سيظهر لي 0A إذا عند كتابة الدالة أكتب 0x0A و هكذا ... إذا للكتابة أو للقراءة يجب أن نعرف العنواين المتوفرة و أسمائها و من ثم نستحدم كلاً من دالتي القراءة أو الكتابة بحسب المطلوب مع مراعاة تعريف متغير من نوع SHORT لتخزين القيمة المقروءة فيه ...
أتمنى أن أكون قد أفدتك ... وفقك الله ...