|
بارك الله فيك اخي الكريم عندي ملاحظتين واقتراح وسؤال ارجوا الرد عليها جميعا:
الملاحظات:
1- في برنامج slave استخدمت مقاطعة لكن لم يتم تصفير flag في نهاية برنامج المقاطعة وفي هذه الحالة قد لاتحدث المقاطعة مرة اخرى ويحدث خطأ في البرنامج؟؟
2-في برنامج master ارسلت ناتج التحويل ولم تحدد high او low لان الريجستر تبع ADC يتكون كما تعلم من 16 bits ثمانية low significant , وثمانية high significant
فهنا ناتج التحويل كما في الموديول pic16f887 هو 10 bits فممكن نرسل الثمانية الاولى ونعمل shift لل2bits الثانية لتكون اكثر دقة اما بالنسبة لارسال قيمة ADC لااعلم هل تتم بنفس الطريقة او انها تحذف 2bits ؟؟
الاقتراح:
ممكن نعمل simulation فقط لنتأكد من البرنامجيين وهنا لايتم توصيل bluetooth module انما يكتفي بمدخل على RX ومخرج على TX لكلا المتحكميين.
سؤال:
هل بالامكان عمل الطريقة بدلا من درجة الحرارة ان نضع sine wave ويتم استقبالها بالمتحكم الثاني وعرضعا على السلسكوب as a real time
بارك الله فيك
|
السلام عليكم
وشكراً جزيلاً اخي العزيز ennng على اطروحاتك وسوف ارد عليها جميعاً انشاء الله
بالنسبة للمقاطعه فلم احتاج لتصفير الـ Flag لاني اتعامل مع الـ MicroC Pro اما اذا كنت تستخدم الـ MicroC القديمه فلا اعلم اذا كانت تحتاج للتصفير لاني لم اعمل عليها سابقاً , وايضاً اطمأن ان البرنامج شغال 100% لان قمتو بعشرات التجارب عليه.
بالنسبة للملاحظة الثانية اني ارسلت الثمان بتات الـ low ويمكنك ان تعمل shift للبتين الاخرين من رجستر الـ ADC لتنقل العشرة بتات بالكامل ولاكن لا انصح بهذا فسوف يكون البرنامج اكثر تعقيد وتظهر لك مشاكل انت في غنى عنها واني استخدمت الثمانية بتات فقط لاني لا احتاج الى فولتيات اكثر من 1.2v وهي التي تحققها الثماني بتات اما اذا اردت فولتيات اعلى فيجب ان تنقل العشرة بتات كامله
اما الاقتراح: نعم يمكنك عمل simulation باستخدام pic اخر مكان البلوتوث موجيول ولاكن لن تكون الفائدة كبيره لان الـ simulation سوف يقتصر على برنامج الpic فقط وايضاً اقولها لك مرة اخرى ان البرنامج شغال 100%
اما سؤالك فهو جميل جداً والجواب هو نعم وانا منذو ايام قمت بنقل اشاره ونجحت التجربه والحمد لله . فقط قم بربط DAC للـ PIC الاخر واعطه الديتا ويجب ان تلغي الـ Delay في الوقت داخل اللوب لكي تتجنب الانقطاعات في الموجه. والحقيقه ان هذا البرنامج يمكن استعماله لاي تطبيق انت تحب فقط غير الكود الموجود داخل لوب الـ while فتستطيع نقل اي اشاره سواء للعرض او التحكم كان يكون كي بورد او ازرار او اي شيء اخر