سؤال

أنا تصميم البرامج حول منتج الأجهزة الموجود. لدي التحكم الكامل في بروتوكول الاتصال لكنني لست متأكدا من كيفية تسهيل اكتشاف الجهاز.

يمكن أن يكون للجهاز مجموعة من التكوينات المحتملة (أي معدل باود، وتطبقات البيانات، بت التعادل، وتوقف البتات) التي يجب اكتشافها عند وقت التشغيل. ما هي الطريقة الأسهل والأكثر موثوقية للبرنامج لمعرفة ما التكوين الذي يستخدمه؟ مرة أخرى، لدي سيطرة كاملة على بروتوكول الاتصالات حتى أتمكن من تحديد أي آلية وأتمنى.

هل كانت مفيدة؟

المحلول

هل هذا جهاز مزدوج أو نصف دوبلكس؟ يمكنك التحكم في طلب إرسال ومراقبة Clear-to-إرسال على كلا طرفي الخط التسلسلي؟ هو نقطة الخط التسلسلية - إلى نقطة (مثل RS-232) أو متعدد الإسقاط (مثل RS-485)؟ سيجعل فرقا (وإن كان صغيرا) إذا كنت ستتدخل مع الأجهزة الأخرى المتصلة بالفعل أثناء التفاوض مع واحد متصل حديثا.

إذا كنت تفكر في عملية المصافحة مثل مودم تفاوض على بروتوكول طبقة الارتباط، فإنه يستخدم مجموعة قياسية من الرسائل لوصف نوع الاتصالات التي ترغب في الحصول عليها وتنتظر "ACK" من الطرف الآخر. في حالتك، أوصي بوجود رسالة "دعونا نتحدث" قياسي أن نهاية الرأس تنشئ مع مجموعة معدلات بت وينتظر ACK من الجهاز.

أوصي أيضا بتقليل عدد خيارات التكوين للجهاز. ننسى البتات البيانات المتغيرة، بت التعادل، وتوقف البتات. عالم الاتصالات التسلسل لم يعد غير مستقر لأنه عاد في السبعينيات. ما عليك سوى استخدام 8 بتات بيانات، لا تكافؤ، وتوقف قليلا وتغيير معدل البت. توفر اتفاقية حقوق الطفل في نهاية الرسائل التحقق الكثير من التحقق من الأخطاء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top