Текущий архив: 2006.09.24;
Скачать: CL | DM;
ВнизУправление LPT портом Найти похожие ветки
← →
Iuda_iz_Kf (2006-09-01 15:50) [0]Здравствуйте..
Возможно я не там разместил свой вопрос..
Суть в следующем:
Мне необходимо "запитать" какой-либо контакт на LPT..
Много чего прочитал, но ничего почему-то не получается..
Например:
*****
MOV DX,0378H
MOV AL,00000010b//третий контакт
OUT DX,AL
*****
В данном примере должен запитываться третий контакт, однако контролька не светится :((
Возможно кто-нибудь сталкивался с подобным?!
Хотелось бы увидеть "рабочий" код..
Заранее благодарен..
← →
Сергей М. © (2006-09-01 15:56) [1]
> Много чего прочитал
Неужели среди прочитанного не было ничего, что навело на мысль о недопустимости прямого обращения к портам ввода/вывода в многозадачной опер.среде ?
← →
Iuda_iz_Kf (2006-09-01 16:01) [2]Т.е. в XP такого неполучится??
← →
oxffff © (2006-09-01 16:03) [3]А google?
http://sources.codenet.ru/index.php?cid=8
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=388
http://ishodniki.ru/list/?show=users_port&cat=19
← →
Сергей М. © (2006-09-01 16:05) [4]Почему не получится ?
Получится, но на уровне ядра. В драйвере режима ядра.
А если нужно на польз.уровне, то
http://www.listsoft.ru/programs/5863/
http://www.softkey.ru/catalog/program.php?ID=4436
← →
oxffff © (2006-09-01 16:11) [5]А чтобы так.
MOV DX,0378H
MOV AL,00000010b//третий контакт
OUT DX,AL
Нужно либо работать в режиме ядра (RING 0).
Либо править битики карте ввода-вывода сегмента TSS.
Что опять же RING 0.
Выход написать драйвер. И работать с ним.
Посмотри в недокументированные возможности Windows 2000.
← →
Iuda_iz_Kf (2006-09-01 16:12) [6]Извиняюсь за невежество..
Для того, чтобы сделать это на уровне ядра, что необходимо??
В трех словах..
И в чем разница сделать это на пользовательском уровне или в дрю режима ядра?
Заранее благодарен..
← →
Сергей М. © (2006-09-01 16:15) [7]
> Для того, чтобы сделать это на уровне ядра, что необходимо?
> В трех словах
В четырех устроит ?
Получить привелегии уровня ядра.
> в чем разница сделать это на пользовательском уровне или
> в дрю режима ядра?
В режиме ядра твой код будет работать без каких-либо изменений.
В режиме пользователя твой код не будет работать без установки соотв.бита в карте ввода/вывода сегмента сотояния задачи. А установка этого бита опять же требует привелегий режима ядра.
← →
Iuda_iz_Kf (2006-09-01 16:16) [8]Извиняюсь, oxffff..
Я не ГуРу...
← →
Сергей М. © (2006-09-01 16:17) [9]
> Iuda_iz_Kf (01.09.06 16:16) [8]
вникни в [4]
← →
oxffff © (2006-09-01 16:19) [10]to Iuda_iz_Kf.
Мы все учимся.
:)
← →
Iuda_iz_Kf (2006-09-01 16:22) [11]И еще вопросик?
В W98 такое получится?
← →
Iuda_iz_Kf (2006-09-01 16:26) [12]И еще.. ;)
Вчера установил компонент tviclpt..
Используем процедуры TVicLPT:
VicLPT1.Active:=1; // Активизировали драйвер
VicLPT1.CurrentLPT:=1; // Текущий порт LPT-1
VicLPT1.CurrentLptMode:=LPT_PS2_MODE; //Включили режим PS/2
VicLPT1.ReadMode := True; //Включили режим чтения данных
Так можно действовать?
← →
Сергей М. © (2006-09-01 16:28) [13]
> Iuda_iz_Kf (01.09.06 16:22) [11]
>
> В W98 такое получится?
Должно получиться.
> Так можно действовать?
Разве справки к компоненту не прилагается ?
← →
Сергей М. © (2006-09-01 16:33) [14]Здесь
http://www.programmersheaven.com/download/19804/download.aspx
скорее всего должно быть все, что ликвидирует лишние вопросы по сабжу
← →
serg_iv (2006-09-01 18:45) [15]Iuda_iz_Kf
я же тебе обо всём написал!
Вникни и будет тебе сащьте!
← →
Anatoly Podgoretsky © (2006-09-01 20:14) [16]Iuda_iz_Kf (01.09.06 16:22) [11]
Не обязательно.
← →
Германн © (2006-09-02 02:11) [17]
> Anatoly Podgoretsky © (01.09.06 20:14) [16]
>
> Iuda_iz_Kf (01.09.06 16:22) [11]
> Не обязательно.
>
Но примеры исключений, в которых "не получится" привести "можем"?
← →
Anatoly Podgoretsky © (2006-09-02 13:39) [18]Встречался с драйверами от НЗ которые блокировали доступ до порта
Страницы: 1 вся ветка
Текущий архив: 2006.09.24;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.044 c