Программа обслуживания прерываний таймера на главном компьютере, работающая с частотой 10 микросекунд или быстрее

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

  •  19-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь запустить следующий псевдокод со скоростью 10 микросекунд или быстрее на главном компьютере (512 МБ ОЗУ, процессор Intel Pentium 4 с частотой 2,5 ГГц и т. д.), работающем под управлением операционной системы Windows XP:

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

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

Я знаю, что существуют таймеры MFC, но они не работают, если таймеры должны срабатывать быстрее, чем 1 мс.Какой самый простой способ достичь целей моего псевдокода?Заранее спасибо.

Это было полезно?

Решение

Я не уверен, что вы сможете добиться такой производительности от Windows XP, по крайней мере, от пользователя.Возможно, вам придется запустить свой код как драйвер ядра или, что еще лучше, изучить возможность использования вместо этого ОС реального времени, такой как Xenomai.

Другие советы

Не обращайте на это внимания - я неправильно прочитал микро как милли в вопросе. Извините:

Как вы говорите, вы используете Windows, Мультимедийный таймер это путь.

Или более новая TimerQueue ТаймерОчередь

Ты может иметь возможность получить разрешение 1 мс, в зависимости от вашего оборудования.

Удачи

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top