![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
LPT [D5, Win95/98]
DenKop © (2002-03-15 16:28:00)Можно ли за один такт послать в LPT порт число большее чем 255. Если можно то как?Заранее благодарен.
DenKop (2002-03-20 00:31:00) [1]Ах вот это к чему! Я всё же не терял надежды, что может есть какой либо изворот для обхода этой проблемы и вот я его нашёл, т.е. использовать дополнительные линии для увеличения разрядности. А различие между байтом числом мне давно известны, хотя о числе мало, что можно сказать, т.к. это понятие очень относительное.
Anatoly Podgoretsky (2002-03-19 22:39:00) [2]DenKop © (18.03.02 17:16)
А вот это
"Можно ли за один такт послать в LPT порт число большее чем 255."
LPT это байтовое устройство и числами не работает, поэтому есть подозрение, что ты, что то путаешь.
DenKop (2002-03-19 03:04:00) [3]to Digitman > Пожалуй переделкой периферии заниматься не буду, т.к. это повлечёт за собой большие временные затраты. Ну использовать служебные линии интерфейса конечно нехорошо, но это всё же гораздо проще и быстрее чем переделать периферию.
Digitman (2002-03-18 18:16:00) [4]>DenKop
Все же, думаю, тебе стоит подумать о переделке периферии, по кр.мере - оч. и оч. желательно. Ну, "не есть это корошо", когда служебные линии интерфейса используются не по прямому назначению (как доп.линии шины данных). Уж, наверное, в IBM и Epson"e когда-то далеко не дураки сидели (те самые "не дураки", что разработали и внедрили WorldWide-стандарт управления ф-циями печатающей периферии на основе Esc-последовательностей)
DenKop (2002-03-18 17:16:00) [5]to МИФИст > Я совсем забыл, что кроме базового адреса существуют ещё 2 (не помню как называются). Спасибо за подсказку.
to Anatoly Podgoretsky > Не совсем понял, к чему это было сказано??
SerVS - S (2002-03-18 15:53:00) [6]Удалено модератором
Anatoly Podgoretsky (2002-03-16 11:42:00) [7]Автору надо рассказать, что такое число
МИФИст (2002-03-15 21:25:00) [8]А в чём сложность 4 бита, которыми можно управлять находятся в регистре управление: адрес BaseAddress($378)+2 =($37A),
назначение битов регистра управления:
CR[7:6] - зарезервированы,
CR5 - "1" - ввод, "0" - вывод
CR4 - сигнал запроса прерываний (1)
CR3 - вот эти
CR2 - четыре
CR1 - и можно дополнительно
CR0 - использовать
DenKop (2002-03-15 19:44:00) [9]digitman прав.Я не совсем корректно выразился.Есть 2 варианта решения проблемы:
1)передавать число за два подхода,т.е. сначала передаётся МЗР, а потом СЗР;
2)преобразовывать число в двоично-десятичную систему и передавать каждый разряд поотдельности, т.е. 567=0101+0110+0111;
Но всё это сильно усложняет схему поключаемую к порту.Расскажу поподробнее. Есть устройство (собранное мной) которое принимает числа из LPT порта. С недавнего времени появилась нужда посылать числа более 255. Это устройство индикации на люминисцентных индикаторах, которое показывает, грубо говоря, число полученное из LPT. Повысить разрядность индикатора не составило труда, а послать такое число через порт не получается.
>Shaman_Naydak
Дополнительных выходов существует ещё 4, но возникает другой вопрос как к ним обратиться.
digitman (2002-03-15 17:46:00) [10]>Shaman_Naydak
Речь-то все же, imho, идет о шине данных порта, а она 8-битная.
Ты вот лучше скажи автору, что не "такт" - понятие растяжимое, а "число")..
под тактом, вероятно, все же имелось ввиду
out LPT_port_addr, al(или outsb - не суть как важно)
а вот число ... можно ведь, в принципе, байтом кодировать и FP-число (в некоем нестандартном формате, похожем на IEEE-формат) - лишь бы периферия "понимала" его, этот формат))
Shaman_Naydak (2002-03-15 17:37:00) [11]За один такт чего? Такт - понятие растяжимое :)
>> digitman
Ну почему сразу нельзя? Кроме 8 битов данных можно использовать дай бог памяти еще 5 битов управления под те же цели =>
2^13-1
digitman (2002-03-15 17:32:00) [12]Нет, нельзя