RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > Физический интерфейс чисто последовательный, как COM-порт. > > Тогда не получится: некому для подобного делать цап. > > Технически это весьма просто - есть и преобразователи последовательного кода в параллельный (банальные сдвиговые регистры), и у однокриссталок многих есть последовательные порты: даёшь обычную команду чтения из порта - получаешь готовый байт. > А что делать некому - это да... > > > > Два байта (в общем случае) не выставить, разве что полтора. > > 1. а почему? > > Потому что у стандартного LPT-порта столько битов на выход работают: один байт - данные, и ещё четыре бита - разные управляющие сигналы. В любом справочнике всё подробно описано. > > > > А поскольку там предполагается задавать RGB, то двух байт за раз > > > всё равно было бы мало, так что просто выводите три раза по байту. > > Кто его знает... Может, проще полубайт использовать в виде переключателя, > > куда это, а основной байт - в виде амплитуды... Простой логикой можно > > развязать такой выход, в принципе. > > Именно это я и предложил. Тебе же нужно по одному байту (256 уровней) на каждый цвет - вот их в три приёма и выведете. > > > То есть - каждый выводимый мной by rexxio байт будет тупо висеть на параллельном интерфейсе, пока я не выведу следующий, который и заменит его без какого-либо участия внешней стороны? > > Да. > > > > Данные стоят на выходе до тех пор, пока ты их сам оттуда не снимешь. > > Cнимешь - то есть просто заменишь следующим байтом, выводимым тем же способом? > > Почти. Если я правильно помню (давно уже не занимался этим), выдача данных наружу разрешается одним из тех управляющих битов. Если она разрешена - данные идут так, как ты написал выше. Если запрещена - выход переводится в неопределённое состояние. > > > > Работа исключительно асинхронная. Компьютер выставляет данные и строб, > > > что данные готовы. Когда принтер данные прочитал, он выставляет подтверждение. > > Вот... О чём я и спрашивал: нужна ли и есть ли там какая-либо синхронизация... > > Принтер выдаёт подтверждение не контроллеру порта, а программе, выводящей данные. Технически это совсем не обязательно (если есть гарантия, что получатель прочитал выставленный байт до того, как он исчез, или если пропуск байта значения не имеет). > > > А мне не нужно стробировать - я просто, если могу группой сигнальных линий определять/задавать "адрес цапа", то так и сделал бы... > > А как ты без стробирования передашь подряд несколько одинаковых байтов? Хотя да, если получатель каждый раз заведомо другой, то можно и без. > > > > Описаний стандартного режима - куда ни плюнь, а от ECP тебе пользы особой не будет, > > > потому что каждый байт всё равно придётся посылать вручную (вам же важны > > > и временнЫе интервалы между посылками). > > Временные, как я понял, я могу задавать, просто выводя очередной байт с тот или иной задержкой. > > Да. > > > Благо, что вроде был для рекса какой-то пакет с миллисекундными задержками. > > Но ecp и прочая меня интересовали для того, что там якобы есть возможность выставлять два байта параллельно - на входных и выходнных шинах сразу. И читать их, соответственно... Если это не брехня, то было б интересно... > > Есть такая возможность. Причём не только в ECP, но и в EPP, и в bidirectional mode. Только вам же для RGB три байта надо вывести.
_, _, _, _, _ _ _,_
(_ | / \ |\ | | |_/
, ) | , \ / | \| | | \
~ ~~~ ~ ~ ~ ~ ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.