كيفية حل المشاكل الشائعة منفذ الاتصالات QuickBasic

ملخص

توضح هذه المقالة نصائح استكشاف الأخطاء وإصلاحها لاستخدام الاتصالات التسلسلية في إصدارات Microsoft QuickBasic 4.0 b, و 4.5، في إصدارات Microsoft الأساسية مترجم 6.0 و6.0 b ل MS-DOS و MS OS/2، وفي Microsoft الأساسية Professional تطوير النظام (PDS) الإصدار 7.0 و 7.1.


يقدم هذا المقال عبارة COM فتح نموذج يجب أن تعمل بشكل صحيح. وترد أيضا اتصالات إضافية تلميحات استكشاف الأخطاء وإصلاحها. للحصول على إحدى مقالات مرتبطة، راجع المقالة التالية في "قاعدة المعارف ل Microsoft":
39386 توضيحات رسائل الخطأ عند استخدام COM1: و COM2:

مزيد من المعلومات

إذا كان لديك مشاكل في استخدام "COM1:" أو "COM2:"، حاول فتح العبارة التالية، مما يجعل Basic متسامحة مع الخطأ قدر الإمكان من المشاكل المتعلقة بالأجهزة:
فتح "COM1:300، N، 8، 1، بن، CD0، CS0، DS0، OP0، جمهورية صربيا، TB2048، RB2048" # 1
(يتم فتح هذا الوصول "العشوائي".) المثال التالي شرح لكل معلمة الموصى بها المستخدمة في هذا البيان المفتوحة:


  1. كلما زاد معدل الباود، زادت فرص للمشاكل؛ وبالتالي، لا يحتمل أن تعطي مشاكل سرعة البث بالباود 300. 2400 باود هو أعلى سرعة على معظم الخطوط الهاتفية، نظراً لقدرتها العالية التردد محدودة. الباود 19200، يتطلب اتصال سلك مباشر، الأكثر احتمالاً أن يسبب مشاكل. (يتم بالباود المحتملة ل QuickBasic 75، 110، 150، 300، 600، 1200، 1800، 2400 4800، 9600 و 19200.)
  2. تماثل عادة لا المساعدة إلى حد كبير؛ ولهذا السبب، يجب محاولة لا تماثل (N).


    لهذه الأجهزة التي تتطلب التماثل، يجب استخدام الخيار PE (تمكين تماثل) في بيان فتح COM، وهو مطلوب لتشغيل التحقق من التماثل. عند تشغيل الخيار PE التحقق من التماثل، يحدث "خطأ إدخال/إخراج جهاز" إذا برنامجين الاتصال بين الأطراف المختلفة. (تماثل يمكن حتى، فردياً، أي مسافة أو علامة). على سبيل المثال، "خطأ إدخال/إخراج جهاز" عند محاولة برنامجين التحدث إلى بعضهما البعض عبر خط تسلسلي استخدام مختلف فتح COM العبارتين التاليتين:
          OPEN "COM1:1200,O,7,2,PE" FOR RANDOM AS #1
    و
          OPEN "COM2:1200,E,7,2,PE" FOR RANDOM AS #2
    إذا تمت إزالة خيار PE من عبارات فتح COM أعلاه، يعرض أية رسالة خطأ.
  3. يستخدم المثال أعلاه 8 بت بيانات وبت توقف واحد. يتطلب ثمانية بتات البيانات لا تماثل (N)، نظراً للحد الأقصى لحجم إطار بيانات الاتصالات Basic (10 بت).
  4. السلة (الوضع الثنائي) هو الافتراضي. ملاحظة: لا يعتمد الخيار ASC البروتوكول XON/XOFF ويتم تمريرها أحرف XON و XOFF دون معالجة خاصة.
  5. تجاهل مصافحة الأجهزة غالباً بتصحيح العديد من المشاكل. وبالتالي، إذا كان التطبيق يتطلب مصافحة، يجب أن حاول إيقاف التالي الأجهزة-التحقق من الخط:
    CD0 = تشغيل إيقاف المهلة لبند كشف حامل البيانات (DCD)
    CS0 = تشغيل إيقاف المهلة لمسح لإرسال "(CTS) السطر
    DS0 = تشغيل إيقاف المهلة لبند جاهزية مجموعة البيانات (DSR)
    OP0 = تشغيل إيقاف المهلة لفتح ناجحة
  6. RS يمنع الكشف من طلب إرسال (RTS).
  7. للمشاكل المتعلقة بالمخزن المؤقت، حاول زيادة الإرسال وتلقى أحجام المخازن المؤقتة أعلاه الافتراضي 512 بايت:
    TB2048 = زيادة حجم المخزن المؤقت للإرسال إلى 2048 بايت
    RB2048 = يزداد حجم المخزن المؤقت للتلقي 2048 بايت
    استقبال مؤقت أكبر يساعد على التغلب على أساسي التأخيرات الناجمة عن عبارات مثل الطلاء، استخدام المعالج شكل مكثف.
فيما يلي تلميحات إضافية هامة لاستكشاف مشاكل الاتصالات وإصلاحها:


  1. يجب استخدام الدالة INPUT$(x) مع الدالة LOC(n) لتلقي كافة الإدخالات من أجهزة اتصالات (حيث "x" هو عدد الأحرف التي يتم إرجاعها بواسطة LOC(n)، وهو عدد الأحرف الموجودة في قائمة انتظار الإدخال انتظار أن تتم قراءتها. "n" هو عدد الملفات التي قمت بفتحها ل "COM1:" أو "COM2:").


    تجنب استخدام العبارة الإدخال #n للإدخال من منفذ الاتصالات لأنه ينتظر إدخال #n (ASCII 13) حرف إرجاع.


    تجنب استخدام العبارة الحصول على #n للاتصالات لأنه ينتظر الحصول على #n لتعبئة المخزن المؤقت (وقد يحدث تجاوز سعة المخزن المؤقت ثم).


    أيضا، تجنب استخدام العبارة PUT #n للاتصالات، واستخدام العبارة #n PRINT بدلاً من ذلك. على سبيل المثال، ترسل العبارة في QuickBasic b و 4-5، في Basic 6.0 مترجم و6.0 b وفي 7.0 PDS أساسي و 7.1، وضع #n أو x$ باستخدام بناء الجملة لإرسال متغير سلسلة متغيرة الطول كالوسيطة الثالثة من وضع #n بايت 2 إضافية تحتوي على طول السلسلة قبل السلسلة الفعلية. قد يسبب ارتباكا طول 2 البايت المرسلة إلى منفذ الاتصالات برنامج المتلقي إذا لم يتم تصميمها للتعامل معها. إرسال وحدات بايت طول لا بوضع #n x$ في QuickBasic 4.0. (إصدارات QuickBasic سابقا من 4.0 لا توفر ميزة استخدام متغير كالوسيطة الثالثة من العبارة PUT #n.)
  2. للحصول على مثال اتصالات البيانات، الرجاء الرجوع إلى المحطة الطرفية. BAS نموذج البرنامج الذي يأتي على القرص الإصدار للإصدارات QuickBasic 4.0 b, و 4.5 Microsoft الأساسية مترجم الإصدار 6.0 و6.0 b وإصدارات Microsoft الأساسية Professional تطوير النظام (PDS) 7.0 و 7.1. قد يكون العديد من مشكلات في الاتصالات بسبب تدفق عناصر التحكم وتصميم التعليمات البرمجية المصدر غير مناسب.
  3. يمكن إظهار فقط على تكوينات جهاز معينة العديد من مشكلات في الاتصالات ويصعب حل أو تكرار على أجهزة كمبيوتر أخرى. نوصي بتجربة العمل مع اتصال مباشر (باستخدام كبل مودم قصيرة) بدلاً من وصلة هاتف/مودم بين المرسل والمتلقي لعزل المشاكل على تكوين معين.
  4. تختلف أنظمة الأسلاك للكابلات على نطاق واسع. تحقق من الأسلاك طرف على الكابل الخاص بك. اتصالات كبل مباشر، كبل طويلة أو المقاومة عالية من المرجح أن تعطي مشاكل من كبل قصيرة، وضعف المقاومة.
  5. إذا كان كل من "COM1:" و "COM2:" مفتوحة، "COM2:" سيتم معالجتها أولاً. معدلات الباود عالية "COM1:" يمكن أن تفقد الأحرف عند التنافس على وقت المعالج مع "COM2:".
  6. استخدام عبارة gosub COM على بدلاً من الدالة LOC(n) استقصاء للكشف عن الاتصالات الإدخال أحياناً العمل حول توقيت أو التخزين المؤقت المشكلات التي تنتج عن التأخير في Basic. التأخير في Basic قد يتسبب بسلسلة مساحة المهملة أو عبارات الطلاء أو عمليات أخرى استخدام المعالج بشكل كبير.
  7. تأكد من أن خطوط مصافحة الأجهزة المناسبة (CS، DS، مؤتمر نزع السلاح، إلخ) يتم فحصها بواسطة Basic. على الرغم من أن تعطيل هذه المهلات (تعيين القيمة المطابقة في عبارة OPEN الأساسية إلى صفر) مفيد لتحديد ما خطوط الذي يستخدمه الجهاز الخاص بك، فإنه لا يجب اعتبار أسلوب غرض عام لتأسيس الاتصالات التسلسلية، نظراً لتجاهل عملية تعارف الأجهزة قد تزيد من احتمال وجود مشكلة توقيت يمكن أن تؤدي إلى تعليق.
قد يعطي أداء أفضل كثير من استخدام برامج الاتصالات التجارية وغير موجودة في Microsoft Basic تقنيات متطورة.


إذا كنت بحاجة إلى أفضل أداء الاتصالات مما تحصل خلال Basic، قد ترغب في محاولة ج Microsoft (يمكنك استدعاء إجراءات Microsoft C من Microsoft QuickBasic 4.0 b، و 4.5 من Microsoft أساسي المحول البرمجي 6.0 و6.0 b، ومن إصدارات Microsoft الأساسية Professional تطوير النظام (PDS) 7.0 و 7.1.) المثال التالي مرجع ممتاز:
"مبرمج C للاتصالات التسلسلية" جو كامبل، نشر الدليل قبل هوارد دبليو سامز الشركة.
تطبيق QuickBasic 3.0 4.0، b و 4.5 الاتصالات بالمقاطعات مباشرة على IRQ3 و IRQ4 إدخال البنود في شريحة وحدة تحكم 8259 (بدلاً من استدعاء المقاطعات ROM BIOS).


يوفر دفتر التالي مستوى الأجهزة التقنية، وصفاً ممتازا للاتصالات التسلسلية لجهاز كمبيوتر IBM:
"مجمع لغة برمجة 8088: IBM PC" النسخة الثانية بتهيئة & كرانتز، نشرتها هوارد دبليو سامز وشركاه (عام 1983، 1984). الصفحات 92 93، والفصل السابع (الصفحات 166 إلى 188).
خصائص

رقم الموضوع: 39342 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات