قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

أبو كريم555
:: مهندس ::
تاريخ التسجيل: May 2016
المشاركات: 30
نشاط [ أبو كريم555 ]
قوة السمعة:0
قديم 25-11-2016, 08:59 PM المشاركة 1   
ha حفظ و قراءة 16 بت ؟ Twitter FaceBook Google+



السلام عليكم
لدي سؤال
كيف يمكن ان حفظ واقرأ 16 بت على انترنل ايبروم للميكرو ,وايضا اعمل انكريمنت و دكريمنت على القيمة دي واحفظها مجددا........
اتمنى يكون سؤال واضح
شكرا

اعلانات

الصورة الرمزية عبدالله حجازى
عبدالله حجازى
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2011
الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
نشاط [ عبدالله حجازى ]
قوة السمعة:111
قديم 25-11-2016, 09:48 PM المشاركة 2   
افتراضي اللهم انفعنا بما علمتنا وعلمنا ما ينفعنا وزدنا علما


السلام عليكم
لدي سؤال
كيف يمكن ان حفظ واقرأ 16 بت على انترنل ايبروم للميكرو ,وايضا اعمل انكريمنت و دكريمنت على القيمة دي واحفظها مجددا........
اتمنى يكون سؤال واضح
شكرا
وعليكم السلام ورحمه الله...


اولا يجب عمل تهيئة للأبروم .. من خلال الأمر دة
كود:
    eeprom_write(0,0);
  eeprom_write(1,0);
  eeprom_write(2,0);
  eeprom_write(3,0);
  eeprom_write(4,0);
  eeprom_write(5,0);
  eeprom_write(6,0);
  eeprom_write(7,0);
لاجظ تم اسناد قيمه "0 " لذاكرة الإبروم .. من عنوان " 1" الى عنوان " 7 "

وبعد ذالك يجب الغاء كود التهيئة هذا بعد عمل ترجمة للبرنامج لأول مرة ..

أو وضعة فى تعليق .. مثل
كود:
  /*eeprom_write(0,0);
  eeprom_write(1,0);
  eeprom_write(2,0);
  eeprom_write(3,0);
  eeprom_write(4,0);
  eeprom_write(5,0);
  eeprom_write(6,0);
  eeprom_write(7,0);*/

وبعد ذالك يمكنك حفظ ما تشاء فى ذواكر الإبروم من خلال هذا الكود ..
كود:
   eeprom_write(1,10)
تم اسناد رقم " 10 " الى ذاكرة الإبروم فى السطر الأول ..

وللسطر الثانى ..
كود:
  eeprom_write(2,10)
لاحظ الفرق ..


وللقرأة من ذاكرة الإبروم استخدم هذا الأمر ..
كود:
   a1 = eeprom_read(0);
      m1 = eeprom_read(1);
      e1 = eeprom_read(2);
      w1 = eeprom_read(3);
      k1 = eeprom_read(4);
لاحظ يوجد عدد من المتغيرات اسمهم "" m1 "" e1 "" w1 "" واسندنا قرأة البينات المحفوظه فى ذاكرة الإبروم الى هذة المتغيرات .. لاحظ
كود:
   m1 = eeprom_read(1);
تم اسناد قرأة البينات الموجودة فى ذاكرة الإبروم من العنوان " 1" الى المتغير " m1 "

بالتوفيق لك أخى


التعديل الأخير تم بواسطة : عبدالله حجازى بتاريخ 25-11-2016 الساعة 09:57 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 26-11-2016, 04:51 AM المشاركة 3   
sun


فتح الله عليك اخ عبد الله , لكن الاخ يسأل عن 16 بت اما ما شرحته ينطبق على 8 بت .

كنت اود ان الاخ يبين اى ميكرو يستعمله او اى مترجم ,
لكن بشكل عام عند تسجيل 16 بت يتم تقسيمهم الى 2 بايت علوى high واخر سفلى low , ثم يسجل العلوى اولا ثم السفلى بعده , و عند القراءة يتم دمجهم ليعطو 16بت.


احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً عبدالله حجازى ( شكر العضو على هذه المشاركة )
اعجاب عبدالله حجازى ( أعجبته المشاركة )

احمد شهيد جواد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2015
الدولة: العراق
المشاركات: 324
نشاط [ احمد شهيد جواد ]
قوة السمعة:0
قديم 26-11-2016, 05:31 AM المشاركة 4   
افتراضي


السلام عليكم ....
قسم القيمة الى جزئين واحفظ كل جزء في عنوان معين من الايبروم
هكذا
كود:
   eeprom_write(0,x/100);
   eeprom_write(1,x%100);
وعند القراءه قم بجمع القيمه من جديد
هكذا

كود:
   
 m=(eeprom_read(0)*100)+eeprom_read(1);
ايضاً لاتنسى بوضع delay بين الكتابة واقراءه مدته 20ms

اما الشق الثاني من السؤال والمتضمن اعادة تحديث البيانات
يمكنك ذلك بسهولة من خلال اعادة الكتابة ع الايبروم والقراءه تبقى نفسها

هكذا

كود:
(if(sw1 is 1
}
;++x
eeprom_write(1,x);
{

احصائية الشكر والاعجاب - 0 شكراً, 0 عدم اعجاب, 1 اعجاب
اعجاب عبدالله حجازى ( أعجبته المشاركة )

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 26-11-2016, 07:50 AM المشاركة 5   
sun


السلام عليكم ....
قسم القيمة الى جزئين واحفظ كل جزء في عنوان معين من الايبروم
هكذا
كود:
   eeprom_write(0,x/100);
   eeprom_write(1,x%100);
تعديل مهم بسيط القسمة تكون على 255 , لان البايت يخزن 255 , و ليس 100 .

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً عبدالله حجازى ( شكر العضو على هذه المشاركة )
اعجاب عبدالله حجازى ( أعجبته المشاركة )
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 06:59 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025