LINUX.ORG.RU

История изменений

Исправление rezedent12, (текущая версия) :

Для некоторых задач можно порекомендовать другой метод. Если тебе нужна не реакция в реальном времени на события порта, а точное время прихода сигналов, то лучше использовать аппаратное решение. А именно взять небольшой чип с com-портом и соединяющийся с компьютером другим более скоростным портом. И передавать в компьютер не биты сами по себе, а время их принятия. Считать время можно дополнительной микросхемой точного времени, либо откалибровать считывающий цикл на постоянную продолжительность любой итерации.

цикл
начало
 счётчик = счётчик +1
 проверить готовность считывания
  если готовность есть
   сигнал = считать бит()
   передать счётчик и передать бит
  если готовности нет
   пауза на время типичного считывания и передачи
конец

Исходная версия rezedent12, :

Для некоторых задач можно порекомендовать другой метод. Если тебе нужна не реакция в реальном времени на события порта, а точное время прихода сигналов, то лучше использовать аппаратное решение. А именно взять небольшой чип с com-портом и соединяющийся с компьютером другим более скоростным портом. И передавать в компьютер не биты сами по себе, а время их принятия. Считать время можно дополнительной микросхемой точного времени, либо откалибровать считывающий цикл на постоянную продолжительность любой итерации.

цикл
начало
 счётчик = счётчик +1
 проверить готовность считывания
  если готовность есть
   сигнал = считать бит()
   передать счётчик и передать бит
  если готовности нет
   пауза на время типичного считывания
конец