قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الاليقسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots
السلام عليكم
أستاذي انا عندي مشكله في تحديد العنوان للذاكره ايبروم الخارجيه بطريقه I2c انا اعرف ان اول 4 بت خاصه بعنوان مميموري مثلا 1010
وكان حجم ذاكره 2048بايت
لتمثيل هذه المواقع في الذاكرة ؟؟؟
بالحساب نجد ان : 2^11=1048
اي اننا نحتاج الى 11 Bit حتى نصل الى اي موقع موجود في الذاكرة .. وبالتالي نستخدم البتات الثلاثة الموجودة في
البايت الاول BYTE1 مع كامل البايت الثاني BYTE2 للحصول على 11 Bit وبالتالي الوصول الى اي موقع في
الايبروم ، وهكذا يتم الوصول الى اي موقع داخل الايبروم من خلال مؤشر الموقع ،حيث يزداد المؤشر بعد كل عملية
قراءة او كتابة بشكل تلقائي.
ولكن اذا كان حجم ذاكره كبير مثلا 16384 كيلوبايت فانها هنا تحتاج الى 2^14 اي تحتاج الى 14 بت وانا عندي 1010 عنوان ذاكره صار مجموع 18 بت الى أضافه الى بت أخير 0 او 1 صارو 19 بت اي أنني أحتاج الى ثلاث بايتات
كيف أمثل هذه البيانات
على سبيل مثال
و لنقم قم بعمل برنامج باستخدام الميكروسي يقوم بحفظ القيمه 0xAA في الموقع رقم 1000 داخل الايبروم 24C16
وذلك باستخدام بروتوكول النقل I2C .
هنا سوف يتم ترتيب الكود
;(I2c1_unit(10000
;()I2c1_start
;(I2c1_wr(0xA6
;(I2c1_wr(0xE8
;(I2c1_wr(0xAA
;()I2c1_stop
اذا ذاكره حجمها أكبر من 2048 بايت مثلا 64 كيلوبايت كيف يكتب الكود لنفس مثال
أرجوا المساعده
الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:56 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)