توقيت المقاطعة روتين خدمة على جهاز كمبيوتر مضيف يعمل بمعدل 10 Microseconds أو أسرع

StackOverflow https://stackoverflow.com/questions/1175164

  •  19-09-2019
  •  | 
  •  

سؤال

أحاول تشغيل pseudoodocode التالية بمعدل 10 micseconds أو أسرع على جهاز كمبيوتر مضيف (512 ميغابايت من ذاكرة الوصول العشوائي، معالج Intel 2.5 GHz 4 Pentium 4، وما إلى ذلك) يعمل على نظام تشغيل Windows XP:

int main(void)
{
    while(1){};
}

Interrupt service routine:
every 10 microseconds, printf("Hello World");

إنني أدرك أن هناك أجهزة توقيت MFC، لكنها ليست وظيفية إذا احتاجت أجهزة ضبط الوقت إلى أن تؤدي أسرع من 1 مللي ثانية. ماذا ستكون أسهل طريقة لتحقيق ما هي أهداف بلدي pseudocode؟ شكرا مقدما.

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

المحلول

لست متأكدا من أنه يمكنك الحصول على هذا النوع من الأداء من نظام التشغيل Windows XP، على الأقل غير موثوق من Userland. قد تضطر إلى تشغيل التعليمات البرمجية الخاصة بك كبرنامج تشغيل kernel، أو التحقيق بشكل أفضل باستخدام نظام تشغيل في الوقت الفعلي مثل Xenomai بدلا من ذلك.

نصائح أخرى

تجاهل هذا - أنا أخطأ - قرأ مايكرو كما ميلي في السؤال آسف:

كما تقول أنك على ويندوز، الوسائط المتعددة الموقت هي الطريق للذهاب.

أو الأحدث timerqueue Truterqueue.

أنت مايو تكون قادرة على الحصول على دقة 1ms، اعتمادا على أجهزةك.

حظ سعيد

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