![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
СОМ порт [D7, Win2k]
Bulanov © (2004-03-26 00:46:00)Мужики подскажите кто знает.
Некая программа отправляет некие данные в COM-порт.
В свою очеред я пытаюсь написать такую же программку.
Отсканив как эта программа программирует COM-порт, я увидел следующую строку:
IOCTL_SERIAL_SET_QUEUE_SIZE: InSize: 8192, OutSize: 8192
Все остальное для работы с COM-портом я сделал также как в той программе используя Async32, но блин как мне задать вот эти два параметра (InSize и OutSize) ума не приложу.
Bulanov (2004-03-26 10:19:00) [1]Тема закрыта. Всем спасибо, разобрался.
Bulanov (2004-03-26 02:20:00) [2]
> GanibalLector
Я это понял, может из-за моего незнания правда, перешел на API, так хоть как0то с Вашей помощью, но я хоть понимаю что делаю =-)))))
Bulanov (2004-03-26 02:18:00) [3]Вот как хорошо-то спасибо большое всем!
Можно еще вопросик?
Ниже приведены два скана порта:
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) какая-то фигня, я вроде никаких масок не задаю, иногда таких строче бывает две или три друг за другом.
Что сделать.
Заранее благодарен.
GanibalLector (2004-03-26 02:11:00) [4]Async32-параша!!! WinApi - рулит!!!
GanibalLector (2004-03-26 02:02:00) [5]Ответ на твой вопрос:
BOOL SetupComm(
HANDLE hFile, // handle of communications device
DWORD dwInQueue, // size of input buffer
DWORD dwOutQueue // size of output buffer
);
Defunct (2004-03-26 00:56:00) [6]А зачем вам эти параметры? Это же тривиальный объем буфера приема/передачи, который на COM порт никак не влияет. Следитете чтобы другие параметры были выставлены точно, а имеено:
- скорость обмена
- число стопов
- число бит в байте
и т.п.