LINUX.ORG.RU

Как правильно поллить результат inb (данные с порта)?

 , , , ,


0

3

По LPT порту воткнута железка, на которой есть кнопка.

Когда кнопка нажата, из порта по адресу можно прочитать 1, когда не нажата — 0

Как правильно с этим работать? Поллить раз в 100 мс, или искать способ заставить эту конструкцию генерировать прерывание?

Ответ на: комментарий от anonymous

а нормально в вызове на чтение к sysfs заблокироваться на такой таймаут?

Не будет проблем внутри ядра?

max_lapshin ★★★★★
() автор топика
Ответ на: комментарий от max_lapshin

можно и простым open read читать
если неблокирующий ио, то по своему таймауту
или в блокирующем режиме, оно на read буде висеть ждать любых прерываний от порта

anonymous
()

От дребезга контактов еще предусмотреть защиту бы

anonymous
()

Как правильно с этим работать? Поллить раз в 100 мс, или искать способ заставить эту конструкцию генерировать прерывание?

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.