Прерывания от железа

Тема в разделе "WASM.ASSEMBLER", создана пользователем EmptyPlace, 17 ноя 2006.

  1. EmptyPlace

    EmptyPlace New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    6
    В DOS было всё проще, перехватил прерывание от порта и всё, пришло прерывание - обработал. А как это в XP сделать? Необходимо читать состояние LPT и рисовать некий график в реальном времени. С таймером фигня получается :dntknw: Научите плиз!
    С уважением Сергей.
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Слишком редко обновляется? Тогда создайте отдельный тред, назначте приоритет повыше и пусть он в цикле читает состояние порта, только загрузка CPU вырастет сильно.
     
  3. _Serega_

    _Serega_ New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2006
    Сообщения:
    288
    В дополнение к предыдущему посту: класс приоритета процесса сделать повыше.
     
  4. EmptyPlace

    EmptyPlace New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    6
    А примерчик можно?
     
  5. zxm

    zxm New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2006
    Сообщения:
    71
    Изменения приоритета процесса и треда? Так такого море в инете.
     
  6. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    EmptyPlace
    Некоторые изменения состояния порта можно отслеживать через WaitCommEvent, что значительно эффективнее тупого поллинга в цикле, т.е. не сильно напрягает CPU. Подробнее смотрите описание этой функции в msdn.
     
  7. EmptyPlace

    EmptyPlace New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    6
    Или у меня проблемы с англицким или WaitCommEvent работает только с COM портом, а нужон LPT!
     
  8. vja

    vja New Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2006
    Сообщения:
    1
    первое