القراءة من الذاكرة : للقيام بعملية قراءة لمحتوى الذاكرة فيتوجب القيام بالإجراء التالي :
بدايةً ، التأكد من جاهزية الذاكرة للعملية و عدم انشغالها بعملية أخرى ، فتجري عملية فحص للبت EEWE و من ثم وضع العنوان المراد قراءته ، و بعدها توضع قيمة (1) للبت EERE في سجل EECR . و أخيراً ، ستتوضع القيمة المطلوبة في السجل EEDR .
في المثال التالي سنقوم بقراءة للقيمة المخزنة في العنوان 0x10 و تخزين هذه القيمة في السجل r16 .
EEPROM_read: sbic EECR, EEWE ; check if the EEPROM is busy writing a byte rjmp EEPROM_write ldi r16, 0x10 ; load address register with 0x10 out EEAR, r16 sbi EECR, EERE ; set read enable bit in r16, EEDR ; and get the data from address 0x10
ملاحظة : تحدث مشاكل كثيرة من إجراء عملية قراءة للموقع 0 من هذه الذاكرة ، حيث تتغير القيمة أو تفقد بكاملها بعد الخروج من عملية إعادة ضبط للمتحكم ، و هذه مشكلة عائدة إلى التغذية : فإذا لم تتوفر للمتحكم الطاقة اللازمة للعمل بشكل كامل ( كحالة انخفاض جهد التغذية ) فإنه سيقوم بتنفيذ تعليمات غير متوقعة و تشويه لمحتوى الموقع الأول في هذه الذاكرة ، فلذلك ، من أهم الإجراءات اللازم اتخاذها لتفادي هكذا نوع من الأخطاء هو التحسين من أداء دارة إعادة ضبط لكي تقوم بعملية إعادة الضبط بشكل كامل ( أو على الأقل : تبقى بعيدة التأثير عن الموقع الأول 0 في ذاكرة EEPROM ) .
سنتناول في المرة القادمة موضوع الساعات و مصادرها . فكونوا معنا ...
سبحان الله وبحمده .. سبحان الله العظيم