Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Dmitriy Tarasyuk                     2:5020/400     19 Apr 2003  01:04:21
 To : Valentin Davydov
 Subject : Re: Centronix
 -------------------------------------------------------------------------------- 
 
 
 "Valentin Davydov" <val@sqdp.trc-net.co.jp> сообщил/сообщила в новостях
 следующее: news:b7k28r$1bd1$8@news.pu.ru...
 
 > >   From: "Dmitriy Tarasyuk" <optimum@optimum.kiev.ua>
 > >   Date: Wed, 16 Apr 2003 09:54:04 +0000 (UTC)
 > >
 > >Можно ли управлять выходными сигналами на SPP разъеме принтерного порта:
 > >например, установить на 3 сек., а затем сбросить D0? К порту подключен не
 > >принтер. Он используется для включения/выключения релешек. Под DOS
 
 програмка
 
 > >написана на Паскале. Если нет непосредственной утилиты, то как обратиться
 
 к
 
 > >порту из программы на Си под FreeBSD? Есть ли API для этого верхнего
 
 уровня?
 
 >
 > Есть три API. Один тебе уже сказали (через ж@пу, тьфу, IOCTLи), а другой -
 > сказать #include <machine/cpufunc.h>, открыть от рута /dev/io и
 
 наслаждаться
 
 > outb(port,data) прямо как под досом. Hу, и третий - разобраться в так
 > толком и не документированной "шинной архитектуре драйверов контроллера
 > параллельного порта" и написать нормальный драйвер, который бы позволял
 > открывать устройства, скажем, /dev/spp или /dev/epp (собственно, открытие
 > устройства есть чисто формальное действие, суть которого и заключается в
 > захвате пресловутой виртуальной драйверной шины), читать/писать туда
 > данные при помощи обычных read()/write() и т.п.
 >
 > Вал. Дав.
 >
 > P.S. Если добьёшься успехов на третьем пути - дай знать, интерес есть.
 
 Hаписал утилиту, которая позволяет, например, следующее:
 1# ppcontrol d01234567
 2# ppcontrol D03 1500ms
 По 1# сбрасывает все выходы данных в низкое состояние (0,2 V). По 2#
 устанавливает в высокое состояние (3,4 - 5,0V) биты 0 и 3 (остальные
 остаются без изменений), через полторы секунды восстанавливает их предыдущее
 состояние (т.е. лог.0 по 1#). Программировал через man ppi. Есть ключ -d
 который позволяет выбрать устройство (по умолчанию /dev/ppi0). В биосе
 установил тип порта SPP. Этого вполне хватило сейчас для переключения реле.
 
 А в чем проблема, для чего нужен был бы драйвер и файлы устройств epp, ecp?
 Я не уверен, что полное переключение режимов между spp, bi-directional, epp,
 ecp безопасно (надежно) реализуемо "на лету" (ECP требует конфигурировать
 контроллер DMA!). И где может быть использован такой драйвер?
 
 Спасибо всем за помощь.
 Дмитрий.
 --- ifmail v.2.15dev4
  * Origin: Elvisti (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Centronix   Dmitriy Tarasyuk   19 Apr 2003 01:04:21 
 Centronix   Alex Semenyaka   19 Apr 2003 01:52:30 
 Re: Centronix   Dmitriy Tarasyuk   19 Apr 2003 11:55:27 
Архивное /ru.unix.bsd/8676fd5e8f75.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional