باسلام خدمت دوستان.
در برنامه بنده حلقه ای وجود داره که محاسبات و تحلیل یک سنسور در آن انجام می شه (کل فرایند در حدود 15 میلی ثانیه).
این برنامه اطلاعات رو از طریق rs485 منتقل می کنه. بدلیل اینکه حجم اطلاعات دریافتی و ارسالی بالاست از وقفه سریال استفاده کرده ام. و برای اینکه از نظر زمان بندی مشکلی ایجاد نشه در روتین وقفه فقط اطلاعات دریافت می شه و تحلیل در حلقه while انجام می گیره.
در کل برنامه درست کار میکنه. اما مشکل اینجاست که مادامی که برنامه در حلقه در حال پردازش سنسوره اگه وقفه ای رخ بده، باید منتظر بشه تا حلقه کامل شه و بعد نوبت به ارسال می رسه و این کار زمان بره.
آیا میشه کاری کرد که ادامه اون پردازش کنسل شه و بعد از ارسال کامل اطلاعات مجدداٌ پردازش شروع شه؟
باتشکر
در برنامه بنده حلقه ای وجود داره که محاسبات و تحلیل یک سنسور در آن انجام می شه (کل فرایند در حدود 15 میلی ثانیه).
این برنامه اطلاعات رو از طریق rs485 منتقل می کنه. بدلیل اینکه حجم اطلاعات دریافتی و ارسالی بالاست از وقفه سریال استفاده کرده ام. و برای اینکه از نظر زمان بندی مشکلی ایجاد نشه در روتین وقفه فقط اطلاعات دریافت می شه و تحلیل در حلقه while انجام می گیره.
در کل برنامه درست کار میکنه. اما مشکل اینجاست که مادامی که برنامه در حلقه در حال پردازش سنسوره اگه وقفه ای رخ بده، باید منتظر بشه تا حلقه کامل شه و بعد نوبت به ارسال می رسه و این کار زمان بره.
آیا میشه کاری کرد که ادامه اون پردازش کنسل شه و بعد از ارسال کامل اطلاعات مجدداٌ پردازش شروع شه؟
باتشکر
دیدگاه