سؤال

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

شكرا على الرد.لقد حصلت على محلل USB، ولكنني لا تفيدني الآن.مما أستطيع أن أجمعه وأعتقد أنه يحدث.لقد قمت بتعيين بت datatoggle في الأجهزة بعد ميزة Clear (كما ينبغي القيام به) لنقطة النهاية المقابلة.إرسال بعض البيانات، ويتم استلامها على جهاز الكمبيوتر.أعرف محلل USB هذا النموذج وقمت بتتبع برنامج تشغيل Vcom الخاص بي باستخدام شاشة المنفذ.ثم أنتظر بعض البيانات حيث يتم تكوين كل شيء (الجهاز المذكور وما إلى ذلك)، تتم الإجابة على السؤال الأولي ولكن السؤال التالي لا يتم الإجابة عليه، وبعد تحديد نقطة النهاية الواضحة، يقوم جانب الكمبيوتر بطرح السؤال مرة أخرى.من المفترض أن يؤدي هذا إلى مقاطعة UBS لنقطة النهاية المقابلة ولكن هذا لا يحدث، مرة أخرى بعد مرور بعض الوقت توجد ميزة نقطة نهاية واضحة ونفس الحزمة، ويتم الرد عليها هذه المرة ومرة ​​أخرى هناك صمت على بروتوكول الاتصال.لقد أحصيت النقل المطلوب مقابل المقاطعات المفقودة وكانت النسبة بالضبط 2:1، لذلك أعتقد أنه تم ضبط تبديل البيانات بشكل خاطئ بمقدار نصف الوقت، ولكن كيف يمكن أن يحدث هذا إذا قمت بتعيين بت تبديل البيانات في كل مرة أحصل فيها على ميزة نقطة النهاية الواضحة.

آمل أن أكون قد ذكرت المشكلة بوضوح، بالنسبة لجانب هارفاري، أعتقد أن الشيء الوحيد الممتع هو الشيء الذي أقوم بإعداده.ينص على "كتابة 1 إلى هذا الشيء لإعادة تعيين تبديل بيانات نقطة النهاية إلى 0." حسنًا ، أعتقد (آمل) أن أحل نقطة النهاية الواضحة ، وكانت الأخطاء الأخرى ناتجة عن أشياء أخرى ، وكان من الصعب التقاط مشكلة تراكمية.


حسنًا، لقد أصلحت المشكلة منذ بعض الوقت، والآن لا أتذكر حتى السبب ولكن كما هو معتاد - كان شيئًا آخر.كل من ربط anwser الشكر.

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

المحلول

انتبه إلى أنه في بعض إصدارات usbser.sys، لا يقوم Windows بمسح الأنبوب بشكل صحيح بعد نقل مضاعف 64 بايت بالضبط.لست واضحًا تمامًا من سؤالك ما إذا كان هذا هو السلوك الذي تراه، ولكن من المفترض أن يساعدك محلل USB في تحديد ما إذا كان هذا هو الحال.إذا كنت تستخدم XP SP2، قم بالترقية إلى SP3.

نصائح أخرى

أقترح استخدام usb سنوبي (برنامج محلل USB) لفهم الخطأ الذي تفعله.إذا كان لديك أي ميزانية فمن الأفضل أن تحصل على محلل USB للأجهزة مثلنا ليكروي أو إليسيس.أو احصل على برنامج تشغيل CDC تجاري، فهناك الكثير متاح فقط على Google لبرنامج تشغيل CDC.وصف مشكلتك عام جدًا ويمكن معالجته مباشرةً.

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