PDA

View Full Version : چرا Interval تایمر خطا دارد؟



tabatabaeefar
جمعه 09 اردیبهشت 1390, 09:36 صبح
سلام
من یه برنامه دارم که باید هر یک ثانیه از یک دستگاه جانبی یه سری اطلاعات رو بخونه و نمایش بده.
اول از timer استفاده کردم و interval اون رو برابر 1000 قرار دادم.
بعد متوجه شدم که حدودا هر 100 ثانیه یک ثانیه خطا داره.
یعنی 100 بار که تایمر بشمره 101 ثانیه میگذره.
با توجه به این که این نرم ا فزار باید بتونه 10 روز پشت سر هم کار بکنه بگید من باید چکار کنم؟:افسرده:
پیشاپیش از راهنمایی هاتون کمال تشکر رو دارم.:تشویق:

Kubuntu
جمعه 09 اردیبهشت 1390, 09:43 صبح
سلام
میشه لطفا خطا رو بذارید ببینیم چه خطاییه.

sara_aryanfar
جمعه 09 اردیبهشت 1390, 10:06 صبح
ایشون که مشکل رو گفتن منظورشون خطا نبوده در واقع یه نوع اشتباه زمانی هست می تونی شما تو هر بار شمارش تایمر یدونه ازش کم کنی تا درست 100 باشه شاید راه بهتری هم باشه

TeacherMath
جمعه 09 اردیبهشت 1390, 10:42 صبح
سلام.این به cpu برمگرده که thread ها رو توی صف قرار میده به نظر من priority این thread رو باید بالا ببری.تا اجرای آن در اولویت باشه.

Felony
جمعه 09 اردیبهشت 1390, 11:24 صبح
باید از High-Resolution Timer ها استفاده کنید ، این لینک (http://msdn.microsoft.com/en-us/library/aa964692(v=vs.80).aspx) میتونه کمکتون کنه ؛ البته بهتره عملیات خوندن اطلاعات از اون دستگاه جانبی رو تو یک Thread جدا انجام بدید .

tabatabaeefar
جمعه 09 اردیبهشت 1390, 13:39 عصر
ممنون از توجهاتتون
موفق نشدم لینکی که گذاشته بودید رو باز کنم.
میشه بگید High-Resolution Timer ها چی هستن؟
من درباره thread ها خیلی اطلاعت ندارم و فقط فصل مربوطه از کتاب deitel رو خوندم.
لطفا بازم راهنماییم کنید.

tabatabaeefar
جمعه 09 اردیبهشت 1390, 14:04 عصر
بالاخره لینکش باز شد.

tabatabaeefar
شنبه 17 اردیبهشت 1390, 00:28 صبح
من هنوز به جواب نرسیدم.
چندتا برنامه thread هم پیدا کردم اما هیچ کدومشون نمیتونستن دقیقا ثانیه ای یه دونه بشمرن.
همشون خطا داشتن و فقط میزان این خطا کم و زیاد بود.
همون طور که گفتم نرم افزارم باید بتونه 10 روز کار بکنه و این خطا هرچقدر هم که کم باشه فاجعه محسوب میشه.
لطفا کمکم کنید.

tabatabaeefar
سه شنبه 07 تیر 1390, 23:59 عصر
بالاخره خودم به جواب رسیدم.
گفتم روش رو اینجا بگذارم بقیه دوستان هم استفاده کنن.
موفق باشید.