Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.13;
Скачать: CL | DM;

Вниз

LPT(378h или 379h)?   Найти похожие ветки 

 
VitGun ©   (2003-09-24 18:32) [0]

Делаю драйвер под одно устройство, которое сваял мой куратор. Так вот когда дошел вопрос о считывании данных с LPT-порта, один аспирант с нашей кафедры утверждал, что запись нужно вести по адресу 378h, а чтение с адреса 379h. Вот у меня вопрос: правильно ли это?


 
Германн ©   (2003-09-25 03:05) [1]

И да и нет. В зависимости от того, что собс-но нужно читать. И еще - а в каком режиме работает порт?


 
pasha_676 ©   (2003-09-25 09:10) [2]

Надо взять книжку про аппаратную работу портов. В книжке написаны смещения от основного адреса, куда что и в какой последовательности писать и откуда что читать. Там довольно много наворочено в зависимости опять же от режима порта. Сам факт что принимают участие порты по нескольким адресам со смещением начиная от базового (какой собственно и показывается в системе и в биосе) - это факт. А какой именно адрес на данной конкретной твоей машине - этого тебе никто не подскажет.


 
VitGun ©   (2003-09-25 22:18) [3]

2 pasha_676. Нет это я понял. И адрес на машие я знаю. LPT1 - 378h работает в режиме ECP. А вот аспирант уверял меня, что читать мне нужно с 379h, а не с 378h. Даже пример на паскале приводил, что он с 379h читает, потом скрепкой замыкал контакты на LPT и показывал мне как там 126 на 121 меняется, только меня терзают сомнения, что он мне фуфло гонит, вот и прошу совета. Вообще программа делает следующее:
- Через LPT опрашивает датчики. При опросе в порт посылаются 8 бит примерно так xxxxyyyy, где xxxx-номер датчика, yyyy-циклически меняется от 1 до 6(особенности устройства). Затем прога должа считывать данные, расшифровывать(это мелочи) и отображать на выходе температуру. Так вот читал я по адресу 379h и получал нечто вроде этого 10001000100010001000. Сразу скажу, что это лажа, а вот с 378h шли почти правильные данные....


 
MBo ©   (2003-09-26 07:58) [4]

вот выдержка:

BASEPORT = $378;
STATUSPORT = BASEPORT + 1;
CONTROLPORT = BASEPORT + 2;
DATAPORT = BASEPORT + 4;
ECRPORT =BASEPORT + $402;

В режиме EPP пишу-читаю через DATAPORT. Про ECP -не помню.
$378 + 1, как видишь - порт статуса, а вовсе не данных.


 
pasha_676 ©   (2003-09-26 09:16) [5]

И все эти смешения адреса написаны в вумных книжках. На память все по всем режимам тебе вряд ли кто скажет.


 
MegaWolt   (2003-09-26 10:20) [6]

Зачем тебе такая морока, из какого адреса считывать, (конечно это полезно знать), я разрабатывал контроллер к компу с работой через LPT порт, при этом я использовал компоненту (не мной разработанная) и на сколько я помню для записи и считывания использовался адрес 378h.


 
N169   (2003-09-26 10:46) [7]

Надо бы спросить у аспиранта, к каким линиям порта он подключал девайс, а уж потом будем разбираться с регистрами.
(Всем форумом :)


 
VitGun ©   (2003-09-26 11:56) [8]

2 All. Спасибо всем, будем разбираться...


 
Tomkat   (2003-10-31 10:05) [9]

Hi, masters! Сорри что лезу не в свою ветку, но - наболевший вопрос !

BASEPORT = $378;
STATUSPORT = BASEPORT + 1;
CONTROLPORT = BASEPORT + 2;
$402;
это для вроде для стандартного порта .
А
DATAPORT = BASEPORT + 4;
ECRPORT =BASEPORT + для какого ? Для EPP или ECP?
как читать по выводам dat0-7 ??
Звранее благодарен ...


 
N169   (2003-10-31 10:26) [10]

Ничего не понимаю.
Попробуйте задать свой вопрос в отдельной ветке.



Страницы: 1 вся ветка

Текущий архив: 2004.01.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
1-37636
~GaMeRd~
2003-12-11 20:59
2004.01.13
Создание мэмо и ричэдита во время работы проги


3-37525
Ю.Ф.
2003-12-16 15:18
2004.01.13
Упаковка БД типа Парадокс или FoxPro


1-37730
Иваныч
2003-12-30 06:51
2004.01.13
Архивация?


14-37867
RDA
2003-12-22 12:47
2004.01.13
Прога типа ICQ для локальной сети


7-37965
Евгыш
2003-10-31 11:43
2004.01.13
USB диск в качестве ключа