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

Вниз

СОМ порт   Найти похожие ветки 

 
Bulanov ©   (2004-03-26 00:46) [0]

Мужики подскажите кто знает.
Некая программа отправляет некие данные в COM-порт.
В свою очеред я пытаюсь написать такую же программку.
Отсканив как эта программа программирует COM-порт, я увидел следующую строку:

IOCTL_SERIAL_SET_QUEUE_SIZE: InSize: 8192, OutSize: 8192

Все остальное для работы с COM-портом я сделал также как в той программе используя Async32, но блин как мне задать вот эти два параметра (InSize и OutSize) ума не приложу.


 
Defunct ©   (2004-03-26 00:56) [1]

А зачем вам эти параметры? Это же тривиальный объем буфера приема/передачи, который на COM порт никак не влияет. Следитете чтобы другие параметры были выставлены точно, а имеено:
- скорость обмена
- число стопов
- число бит в байте

и т.п.


 
GanibalLector ©   (2004-03-26 02:02) [2]

Ответ на твой вопрос:
BOOL SetupComm(

   HANDLE hFile, // handle of communications device  
   DWORD dwInQueue, // size of input buffer
   DWORD dwOutQueue // size of output buffer
  );


 
GanibalLector ©   (2004-03-26 02:11) [3]

Async32-параша!!! WinApi - рулит!!!


 
Bulanov ©   (2004-03-26 02:18) [4]

Вот как хорошо-то спасибо большое всем!
Можно еще вопросик?
Ниже приведены два скана порта:

1. Не моей программы:

IRP_MJ_CREATE   Serial0 SUCCESS Options: Open  
IOCTL_SERIAL_SET_TIMEOUTS Serial0 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:5000
IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS  
IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS  
IOCTL_SERIAL_GET_CHARS  Serial0 SUCCESS  
IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS  
IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS  
IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS  
IOCTL_SERIAL_GET_CHARS  Serial0 SUCCESS  
IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS  
IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600
IOCTL_SERIAL_CLR_RTS  Serial0 SUCCESS  
IOCTL_SERIAL_CLR_DTR  Serial0 SUCCESS  
IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
IOCTL_SERIAL_SET_CHAR  Serial0 SUCCESS EOF:0 ERR:0 BRK:0 EVT:41 XON:0 XOFF:0
IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:0 Replace:0 XonLimit:2048 XoffLimit:512
IOCTL_SERIAL_SET_QUEUE_SIZE Serial0 SUCCESS InSize: 8192 OutSize: 8192
IRP_MJ_WRITE   Serial0 SUCCESS Length 1: 41  
IRP_MJ_CLEANUP   Serial0 SUCCESS  
IRP_MJ_CLOSE   Serial0 SUCCESS

2. Моей программы:

IRP_MJ_CREATE   Serial0 SUCCESS Options: Open  
IOCTL_SERIAL_SET_TIMEOUTS Serial0 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:5000
IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS  
IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS  
IOCTL_SERIAL_GET_CHARS  Serial0 SUCCESS  
IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS  
IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS  
IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS  
IOCTL_SERIAL_GET_CHARS  Serial0 SUCCESS  
IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS  
IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600
IOCTL_SERIAL_CLR_RTS  Serial0 SUCCESS  
IOCTL_SERIAL_CLR_DTR  Serial0 SUCCESS  
IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
IOCTL_SERIAL_SET_CHAR  Serial0 SUCCESS EOF:0 ERR:0 BRK:0 EVT:41 XON:0 XOFF:0
IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:0 Replace:0 XonLimit:2048 XoffLimit:512
IOCTL_SERIAL_SET_QUEUE_SIZE Serial0 SUCCESS InSize: 8192 OutSize: 8192
IRP_MJ_WRITE   Serial0 SUCCESS Length 1: 41
IOCTL_SERIAL_WAIT_ON_MASK Serial0 INVALID PARAMETER  
IRP_MJ_CLEANUP   Serial0 SUCCESS  
IRP_MJ_CLOSE   Serial0 SUCCESS

Вот 3 строчка снизу (INVALID PARAMETER) какая-то фигня, я вроде никаких масок не задаю, иногда таких строче бывает две или три друг за другом.

Что сделать.
Заранее благодарен.


 
Bulanov ©   (2004-03-26 02:20) [5]


> GanibalLector

Я это понял, может из-за моего незнания правда, перешел на API, так хоть как0то с Вашей помощью, но я хоть понимаю что делаю =-)))))


 
Bulanov ©   (2004-03-26 10:19) [6]

Тема закрыта. Всем спасибо, разобрался.



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

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

Наверх




Память: 0.48 MB
Время: 0.028 c
9-1070788187
Yegor
2003-12-07 12:09
2004.04.11
Как написать тренер?


8-1071416034
konstantinov
2003-12-14 18:33
2004.04.11
Графика в ScreenSaver


11-1066039342
RA
2003-10-13 14:02
2004.04.11
Кто нибудь пытался перевести под KOL комп-ты BDE


8-1076068502
$tranger
2004-02-06 14:55
2004.04.11
Непрямоугольная форма на основе TImage


1-1080044371
ПрогерШ
2004-03-23 15:19
2004.04.11
Proxies.pas