![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как послать на LPT сигнал определенной длительности? [D5, Win95/98]
Gunya © (2002-01-03 20:32:00)Подскажите, пожалуйста. Где то выдрал такой код для задержки:
procedure RTCDelay(Wait: LongInt);
asm
mov ah,86h
mov dx,word ptr Wait
mov cx,word ptr Wait+2
int 15h
end;
т.е. устанавливаю циферку на LPT, потом запускаю процедуру
... но программа вываливается в синий экран :(.
Может можно как-то подругому?
Заранее благодарен.
Gunya (2002-01-04 19:32:00) [1]Спасибо всем, по поводу компонент - я не очень то шарю в Delphi, и задачи в принципе - только послать определенную цифру (три строчки на асме). Просто я предположил, что таймер реализуется примерно также - в 3 строчки. Все работает, только хотелось "чтоб по-умному, да по-правильному :)"...
И заодно - вопрос: может ли таймер в Delphi как то сбивать системное время? (причем на десятки минут за сутки (машина не выключается круглосуточно)).
Red Alert (2002-01-04 18:00:00) [2]Смотри я скинул в форум исходники работы с портами, там описано что надо для работы с портами
Red Alert (2002-01-04 17:12:00) [3]под виндой работа с прерываниями имеет особенности,
та же проблемма с прерываниями.
Вообще я видел компоненты для работы с портами ввода вывода
на www.torry.ru, возьми оттуда и не мучайся..
skr (2002-01-04 15:33:00) [4]насчет int 15 я не помню... попробуй выставить параметры порта... (в документации на порт...)
и писать необходимую информацию коммандой out dx,ax (это asm) dx-адрес ax-информация. синтаксис уточни где нибудь... и вообще мне кажется не лучший способ - использовать int в винде. через API наверное тоже лучше не лезть т.к. таймеры в винде кривые
andrucco (2002-01-04 05:04:00) [5]Sleep(100) //100 мс
или функции для Performance Counter