إخواني الكرام
الأساتذة ذكي شاكر و محمد 50
أولاً أشكركم علي إستجابتكم السريعة لتوضيح هذه المعلومات الهامة التي كانت مبهمة تماماً بالنسبة لي.
ثانياً لقد فهم الأستاذ ذكي ما تم كتابته عن طريق الأستاذ محمد 50 "فهذا طبيعي لإنكم أساتذه في هذا المجال" فأرجوا مراعاة المبتدئين أمثالي.
ثالثاً لقد عملت بنصيحة الأستاذ محمد 50 و قرات الداتا شيت مع العلم إنني أتفهم البروتوكول I2C المستخدم و هو كالآتي و صححوا لي إن كنت مخطئاً:-
1. إرسال أمر التهيئة Initiate.
2. إرسال أمر البدء Start.
3. أرسال رقم شريحة الإيبروم بالمنظومة حسب توصيل الأطراف A0,A1,A2 فلو تم توصيلهم بالأرضي يكون رقم الشريحة 0x0.
4. إذا كان المراد الكتابة تكون رقم الشريحة 0x0 و لو كان للقراءة تكون 0x1.
5. إرسال العنوان المراد التعامل معه علي هيئة HSB,LSB.
6. إرسال القيمة المراد تخزينها في حالة الكتابة أو تحديد المتغير المراد وضع القيمة به في حالة القراءة "حسب ما تم تحديده بالخطوه رقم 4".
7. إرسال أمر الإيقاف Stop.
مع العلم بإنه يلزم عمل تأخير 10 مللي ثانية بعد أمر الكتابة لتأكيد الأمر.
و كذلك أعلم طريقة القراءة و الكتابة المتوالية "أي بدون أمر الإيقاف".
الغريب في الأمر قام أخي محمد 50 مشكوراً بعمل مثال تجريبي و هو لم يعمل بشكل صحيح علي الفلوكود حيث أخرج القيمة المقروءة 255 و لكن ملف الهيكس المتولد منه يعمل بشكل جيد علي البروتس!!! (و المفترض التعامل مع القيمة المقروءة بباقي برنامج الفلوكود).
أسف قد أطلت كثيراً عليكم و لكن أردت شرح ما أعلمه لتصويبه من الخطأ و البناء عليه.
فأرجوا منكم إخواني إن تيسر لكم الوقت شرح تفصيلي لأوامر الفلوكود لإتمام العملية لإظهار الرقم بشكل صحيح حيث سيتم إستعمال هذا الرقم في مراحل لاحقه بالبرنامج مع توضيح ماهية كل رقم بالبرنامج و لماذا يشير إلي ؟
"يمكن الشرح كملاحظات قبل كل مرحله أو عمل صور توضيحيه"
أرفع لكم ملف فلوكود أخي محمد 50 به Comment علي ضوء ما فهمت
هنا
و يمكن تجربة البرنامج "الفلوكود" للتأكد من الرقم الظاهر علي الـ LCD.
أسف للإطالة مرة أخري فقلما يجد المرء شخص يجيد فهم هذا الموضوع جيداً و له من الصبر و طول الأناة للشرح مثلكم.
أشكركم جزيل الشكر