[an error occurred while processing this directive] [an error occurred while processing this directive]
Тебе нужна не задержка, а признак окончания заданного периода времени
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Zalex 10 апреля 2002 г. 14:00
В ответ на: Ответ: отправлено spectr 10 апреля 2002 г. 13:32

как его получит на паскале не знаю, но так как функция обратима(если имеется ввиду то что я писал ниже) можно сделать так:
-прочитать значение таймера "на лету", как - это есть в описании 8254.
-произвести заданное количество считываний с ЛПТ, например 1000, что гарантировано меньше времени переполнения таймера (~54mS данных под рукой нет)
- еще раз прочитать таймер
- разницу между считываниями в тиках * (~54мС/65535), используем для приведения кол-ва чтений ЛПТ к удобоваримой системе счисления раз в мС, раз в С, и т.п. т.е. получаем частоту опроса порта. Да, не стоит писать на винт во время сбора данных - с гарантией результат будет не достоверным... Хотя может быть есть способ обойти задержку на время записи...

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru