Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];

Вниз

Помогите с LPT портом   Найти похожие ветки 

 
ychenick   (2003-11-04 17:28) [0]

Написал программу на паскале со вставками на asm:

{процедура посылки данных в порт}
procedure PortOut(Port: Word; Data: Byte); assembler;
asm
MOV DX,Port;
MOV AL,Data
OUT DX,AL
end;

{функция получения данных из порта}
function PortIn(Port: Word): Byte; assembler;
asm
MOV DX,Port;
IN AL,DX
end;

Удалил драйвера под принтер ( LPT1) с виндовса что б не мишали моей роге.
Припаял к ножкам 2 (Data0 - Output), 20 (Ground) и 10 (ACK-input).
по идее когда я выполню portout($378,255), должны загорется все проводки, беру 2 и 20, пробую напряжение,0 (ноль). Беру 10 и 20, напряжение Ок. Как ведь 10 (ACK) input!
Выполняю portout($378,0) - таже ситуация. Несколько раз проверил так ли припаял, все так как надо, без замыкания и т.п.
Замыкаю 2 и 20, делаю portin($379) получаю 120 тоесть 01111000. Рассоединяю, ситуация в portin($379) не меняется! Какие ошибки, что посоветуете?


 
reticon   (2003-11-05 00:22) [1]

а может все-таки косячок в процедуре PortIn?


 
Talla2k   (2003-11-05 00:51) [2]

Во-первых надо учитывать ОС (я надеюсь у тебя 9X)!!!
Во-вторых зачем эти вставки asm,ведь в Паскале есть оператор port???
В-третьих(если я не ошибаюсь [просто давно не работал с LPT])после записи в $378 надо в $37a в D0(первый бит) сделать строб,дабы все то что в $378 передалось!!!
И в-четвертых,есть возможность работать с LPT через INT17!!!
Успехов! :)


 
yachenick   (2003-11-05 11:25) [3]

У меня XP и 98. В паскале port будет работать только в 98, но не в XP. На асме код в норме,так как после
PortOut($378,255);
выполнить x:=port[$378] получим что надо(x:byte)= 255 . А как ты говориш работать через INT17?


 
Talla2k   (2003-11-06 01:59) [4]

Через int17 легко и просто смотри HELP!!!
Инфы просто море,поищи!!!Ежели не найдешь скажи,поделюсь!
И еще,типа работал как-то с LPT и через asm и через INT17,все работало как часы,не пойму что за проблемы???Это-ж не COM!!!


 
icWasya   (2003-11-06 11:03) [5]

а кстати посмотри в дебагере, как передаются параметры - не через регистры ли??


 
Agr   (2003-11-17 09:00) [6]

Под D6 есть компонент DirectPort (у меня, если не найдешь), для низкоуровневого доступа к портам,в Win9x работает отлично, в NT с Com-портом возникали косяки. Данные из регистра $378 (lpt1) выводятся напрямую на ноги 2-9 порта. Фишка в том, что если порт настроен не как SPP (Standart Parallel Port), то возможно чтение сигналов с этих ног.
И еще, проводки врят-ли загорятся, т.к. ток КЗ 50-60 мА максимум ;)


 
knstantun   (2003-11-17 11:15) [7]

Все зависит от ОСи, НО единстванный выход это DirectPort_3.8
- Компонент стоящий того, чтобы с его простотой, ворочить горы!


 
Новый чайник   (2003-11-17 18:16) [8]

Я писал подобные процедуры и на Асм и на стандартных операторах Паскаля (Port,mem,memw). Все работало. Код на Асме правильный. Тип порта не важен, я переключал по всякому и все работало под W9x. Сейчас вот маюсь с XP. Под ним ничего не работает на Асме. В чем косяк, не пойму никак. Кстати для теста программы я сделал переходную платку под LPT со светодиодами и теперь никакими проводками не экспериментирую. раньше стоял, простите, раком и тыкал осцилографом в разъем ( системник под столом у меня). Рекомендую сделать нечто подобное, намного удобнее да порт целее будет.


 
Agr   (2003-11-18 06:51) [9]

На ASME писать конечно круто, но под NT писать беспонтово...
Защищенный режим, 0-е кольцо, драйверы и прочая хрень (пытался разобраться да время жалко):( Зато с хваленым компонентом все на ура работало, на нескольких машинах проверял, с разными винтами, в т.ч. и на ХР...


 
Pat   (2003-11-18 13:25) [10]

>Agr (18.11.03 06:51) [9]
Win API - CreateFile, WriteFile, ReadFile...статей навалом


 
Alec   (2003-11-23 06:47) [11]

Я уже точно не помню - давно это было, но кажется в ЛПТ есть один инверсный выход, так что может это как раз он?



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

Форум: "Система";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
7-29624
Maxio
2003-11-25 12:33
2004.02.10
Мегание Label


6-29494
Lexer
2003-12-08 16:41
2004.02.10
Закачка файлов через SOCK-протокол


1-29396
Ivolg
2004-02-01 12:28
2004.02.10
Помемещение в трей


1-29435
Marina_S
2004-01-31 11:59
2004.02.10
DRW


11-29289
Кладов
2003-05-28 22:44
2004.02.10
Поведение модальности





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский