· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Помогите плз!! Очь срочно надо сделать IOCTL_SERIAL_SET_DTR

Посл.отвђт Сообщенiе


Дата: Июл 28, 2004 12:59:29

а как передать это в порт, я не знаю...

вот как выглядит в мониторинге подключения:
0.00000112	DMmain.exe	IOCTL_SERIAL_SET_DTR	Ircomm0	SUCCESS


т.е. программа включает передачу (если я не путаю)
а как эта комманда выглядит на асме, я не знаю :о(((

Подскажите пожалуйста!!!
заранее Спасибо!!!


Дата: Июл 28, 2004 13:41:08

DeviceIoControl()


Дата: Июл 28, 2004 13:47:55

а почему в структуре DCB не работает вот это:
	mov m_dcb.fDtrControl,2

?????

ssx
Спасибо!
Пойду, гляну... как можно DeviceIoControl() прикрутить в моей ситуации...

Не прощаюсь, ща приду :о)))


Дата: Июл 28, 2004 14:19:30

Вернулся...
Новости так себе...

вот что делаю:
.data?
dtr_echo_byte	dd ?
dtr_echo		dd ?

invoke DeviceIoControl,hcomm,IOCTL_SERIAL_SET_DTR,NULL,0,dtr_echo,sizeof dtr_echo,dtr_echo_byte,NULL


а в ответ РадАсм пишет:

Assembling: commmm.asm
commmm.asm(153) : error A2006: undefined symbol : IOCTL_SERIAL_SET_DTR
commmm.asm(153) : error A2114: INVOKE argument type mismatch : argument : 2

ЧТО я опять "напортачил"? а? (не мой день чтоли... :о)) )


Дата: Июл 28, 2004 14:25:50

DeviceIoControl для драйвера однако ;-)


Дата: Июл 28, 2004 14:34:20

Двоечники :о))))))))))))))))))))))))))))))))))))

вот как надо:

invoke EscapeCommFunction,hcomm,(комманда)

комманды:
CLRDTR Clears the DTR (data-terminal-ready) signal.
CLRRTS Clears the RTS (request-to-send) signal.
SETDTR Sends the DTR (data-terminal-ready) signal.
SETRTS Sends the RTS (request-to-send) signal.
SETXOFF Causes transmission to act as if an XOFF character has been received.
SETXON Causes transmission to act as if an XON character has been received.
SETBREAK Suspends character transmission and places the transmission line in a break state until the ClearCommBreak function is called (or EscapeCommFunction is called with the CLRBREAK extended function code). The SETBREAK extended function code is identical to the SetCommBreak function. Note that this extended function does not flush data that has not been transmitted.
CLRBREAK Restores character transmission and places the transmission line in a nonbreak state. The CLRBREAK extended function code is identical to the ClearCommBreak function.


Теперь сам буду знать и другим подсказал... (надеюсь не зря перерыл сайт мелкомягких, пригодится комунть)

.п.с. Спасибо ффсем, слона убил сам, съел. :о))


Дата: Июл 28, 2004 14:36:13

в MSDN это есть :)


Дата: Июл 28, 2004 14:40:57 · Поправил: Stenton

А вот еще вопрос родился:

как сунуть в порт такую строку:
64 00 00 00 43 4F 4E 51 01 00 00 00 08 00 F1 00 01

 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0000 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 9B 0E 7E

итого: 391 знак

странно, но обычным способом (.data
IntroText db '64 00 00....и т.д. до 391ого знака',0
invoke WriteFile,hcomm,addr IntroText,sizeof IntroText,addr iBytesWritten,NULL )

не лезет, ругается на длинну :о(((

Помоните :о))
пожалста!


Дата: Июл 28, 2004 15:12:42

Люди добрые, я догадываюсь что через буфер как-то можно... т.е. туда в обратном порядке "накидать" и потом "плюнуть" в порт...

Только вот как реализовать...

ну подскажите пожалста.
Спасибо!!!


Дата: Июл 29, 2004 14:43:33

Опять все сам, все сам....

Всем спасибо, вопрос снят!


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.050