سلام همگی

من یک سریال پورت از یک دستگاه رو باز میکنم
و اطلاعات میفرستم (serialPort1.write) و بلافاصله در کمتر از 500میلی ثانیه دستگاه جواب رو برمیگردونه و منم میخونم (serialPort1_DataReceived)
و بعد این داده دریافتی رو آنالیز میکنم و مقادیر مورد نیازم رو میگیرم
تا اینجا کار مشکلی نیست...

مشکلم از اونجایی شروع شد که من بایست همین کار رو در سطح بالاتری انجام میدادم
من بایست ده ها دستور رو با تاخییر 1 ثانیه بفرستم و ما بین هر ارسال اطلاعات دریافتی رو آنالیز کنم.
من اومدم از thread.sleep() مابین هر ارسال دستور به دستگاه استفاده کردم اما متاسفانه اینکار باعث توقف نخ اجرایی cpu میشه و
عملا serialPort1_DataReceived رو به حالت هنگ میبره و غیرفعالش میکنه در اون لحظه..


آیا کسی از دوستان هست که تجربه این مشکل رو داشته باشه؟ ساده ترین و سریع ترین روش حل این مشکل چیه؟
آیا میشه serialPort1 خود ویژوال رو تو نخ جدا اجرا کرد؟ و آیا دستور مشابه ای هست که فقط چند لحظه تابع فعلی رو متوقف کنه و کاری به نخ و cpu نداشته باشه؟