سؤال

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

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

هل هناك أي طريقة لمعرفة أي عملية وأو. DLL ديها حيازة منفذ تسلسلي، و / أو فرض الميناء مغلق؟

إذا يجعل أي اختلاف، بلدي التطبيق هو في C #، ولكن من الناحية الهيكلية، انها ليست مريحة لفتح وإغلاق المنفذ مع "باستخدام" بيان.

وشكرا،   أندي

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

المحلول

لوعلمي لا يمكنك إغلاق المنفذ التسلسلي الذي لم يكن لديك المقبض ل. تجربتي في المنافذ التسلسلية بلوتوث هي أنها يمكن في نهاية المطاف الحصول على تعيينها إلى أرقام منافذ COM مختلفة في وقت الاتصال، ويمكن أن تترك في بعض الأحيان منافذ COM وهمية عندما قطع الاتصال. على سبيل المثال، لدي حاليا أي أجهزة بلوتوث متصلة، ولكن إذا ذهبت إلى مدير الجهاز، وأرى ما مجموعه منافذ COM عشر على النحو الوارد المنفذ التسلسلي <م> بلوتوث الخصائص على كل من هذه المنافذ تظهر الجهاز كما العمل والمتاحة، وعادة ما يمكن فتح هذه المنافذ على الرغم من أنني الحصول على الفشل في بعض الأحيان. عملي حول هذه هو اجبار أرقام المنافذ COM للإتصال deviced، من خلال خصائص / متقدم عدد / منفذ COM . لست متأكدا ما إذا كانت المشكلة هو سائق ذات الصلة (كورب IVT في هذه الحالة) أو مشكلة في طريقة Windows بإدارة المنافذ التسلسلية BLUTOOTH.

وآسف لأنني لا يمكن أن يكون من أي مزيد من المساعدة.

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