![]() |
|
![]() ![]() ![]() |
|
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
Почему в вин 2000 и ХР при запуске данного кода выбивает ошибку, хотя в других ничего нет? |
|||
|
||||
Serzh |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 30.9.2003 Где: SPb Репутация: нет Всего: нет |
дык не разрешает нт порты вроде...
а с лпт мона и по другому работать. |
|||
|
||||
VAV |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 10.10.2002 Где: Мурманская обл. г . Мончегорск Репутация: нет Всего: нет |
А как усётаки в NT,2000,XP с портами работать?
|
|||
|
||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
А как всё таки? |
|||
|
||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
Люди, ну очень нуна. Может кто знает?
|
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 7 Всего: 34 |
делаеш createfile с именем lpt
и все, работаеш как с файлом, пишеш тудыть и читаеш оттудыть ![]() -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
У меня устройство работает с лпт. Мне необхоимо тудыть биты передавать. В вынь 98 нет проблем а в 2000 фанарь.
![]() |
|||
|
||||
Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
Есть такое дело. Но, когда создаю такой файл, но нет никакого драйвера принтера, то функция возвращает ошибку. А если принтер установлен, то пишет что принтер не отвечает! А ваще каким образом мона управлять регистрами? Я пользуюсь функцией WriteFile для синхронной передачи. Функцией DeviceIOControl не могу. Какой-то из парамеров не знаю как установить. По-моему второй. Сейчас просто нет при себе исходников. |
|||
|
||||
Jin X |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 5.3.2004 Репутация: 1 Всего: 1 |
Имелся в виду файл с именем "lpt1", "lpt2" и т.д, какой именно нужен.
Вот ещё глянь: http://www.skvozilka.com.ru/Delphi/Doc/hardware.htm Это сообщение отредактировал(а) Jin X - 26.4.2004, 21:33 --------------------
Бойся своей мечты, ибо она осуществима! |
|||
|
||||
Kagor |
|
|||
![]() Debian user ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2946 Регистрация: 28.2.2003 Где: Королевство Кривых Репутация: нет Всего: 85 |
Ошибся, почему-то подумал, что это форум по C/C++.
![]() Добавлено @ 23:17 А вообще может, кому ни будь пригодиться пример по работе с COM портами на C++(должно и в 2k и в Xp работать).
![]() Это сообщение отредактировал(а) Kagor - 26.4.2004, 23:19 -------------------- Disassemble Your life and get the key! |
|||
|
||||
Mephisto |
|
||||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
Это хорошо, но как таким образом работать с ЛПТ. С таким синаксисом я выдаю в порт 1 байт, но этот гад выдает этот байт на драйвер, и ставит в очередь на печать. Естественно принтер не отвечает. Позже вылазит ошибка. ![]() Функция OUT запрещена, прерывание int 17h также ссылается на драйвер, о результате можете сами догадатся! НО...:
Вот этот код на тасме не выдает ошибки, к моему удивлению, но нифига не делает! Что тоже меня удивляет. Может растолкует мне кто почему? |
||||
|
|||||
Kagor |
|
|||
![]() Debian user ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2946 Регистрация: 28.2.2003 Где: Королевство Кривых Репутация: нет Всего: 85 |
Mephisto
В NT(2k, Xp 2k+3) драйвер уровня ядра может напрямую работать с портами, т.е. без дополнительных извратов, так может тебе написать драйвер и работать через него? -------------------- Disassemble Your life and get the key! |
|||
|
||||
Chingachguk |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
Интересно, таблицы подстановок запрещено использовать ?... -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
Kagor |
|
|||
![]() Debian user ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2946 Регистрация: 28.2.2003 Где: Королевство Кривых Репутация: нет Всего: 85 |
Chingachguk
![]() ![]() ![]() Это сообщение отредактировал(а) Kagor - 28.4.2004, 22:39 -------------------- Disassemble Your life and get the key! |
|||
|
||||
DHK |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 19.1.2004 Репутация: нет Всего: нет |
Примерчик на паскале. Обмен с COM портом. По аналогии сделай с LPT. Работает в 2000, 98, ХР ...
uses Crt; Type TBinary = String[8]; Var RSt:Byte; Ch : Char; BinStat, BinDat : TBinary; f:text; Function BBinary(B:Byte):TBinary; Var Bit,I : Byte; TempS : TBinary; Begin TempS:=''; TempS[0]:=Chr(8); Bit:=1; For I:=0 To 7 Do TempS[8-i]:=Chr(Ord('0')+((Bit shl i) And B) shr i); BBinary:=TempS; End; Procedure Init_Com2; var DIni : Byte; begin DIni:= 127; { DLAB set} Port[$3FB] := DIni ; DIni:= $00; Port[$3F9] := DIni ; { High byte divider } DIni:= 12; Port[$3F8] := DIni ; { Low byte divider } DIni:= $00; Port[$3FB] := DIni; { DLAB clear} DIni:= $02; { 0000 0010} Port[$3FB] := DIni; DIni := $00; Port[$3F9] := DIni; DIni :=$0B; {00011011} Port[$3FC]:=DIni; End; Procedure Eror; Begin end; Procedure ReadData; Begin Ch:= Chr(Port[$3F8]); Write(Ch); end; Procedure WriteData; Begin Ch := ReadKey; Port[$278] := Ord(Ch); end; Begin clrscr; Init_Com2; assign(f,'text.txt'); reset(f); RSt:= Port[$3FD]; while not eof(f) do Begin read(f,Ch); Port[$3F8]:=Ord(Ch); BinStat:=Bbinary(Port[$3FD]); delay(10); if BinStat[5] = '0' then ReadData; End; Close(f); Ch:=readkey; End. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |