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

Вниз

Одновременная работа с Com1 и Com3 под Win2k   Найти похожие ветки 

 
Greenman   (2003-01-22 06:24) [0]

Не получается одновременно работать с Com1 и Com3 под Win2k.
Делаю

FComPortHandle1 := CreateFile(PChar("COM1"),GENERIC_READ or GENERIC_WRITE,
0,nil,OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,0);

FComPortHandle1 := CreateFile(PChar("COM3"),GENERIC_READ or GENERIC_WRITE,
0,nil,OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,0);

После этого FComPortHandle2=INVALID_FILE_HANDLE

Причем, самое интересное, если вызывать их в обратном порядке,
то этот код работает нормально, правда читать/писать все равно не получается.
Как вообще тогда работать с большим количеством портов под w2k?
Их сейчас у меня 4 (и все заняты), а наверное будет еще больше.


 
Reindeer Moss Eater   (2003-01-22 09:00) [1]

Ты дважды присваиваешь FComPortHandle1 , и ни разу ничего не присваиваешь FComPortHandle2


 
Greenman   (2003-01-22 09:27) [2]

Это просто опечатка, в коде все нормально. Тем более, при тестировании эти два куска кода разнесены в два различных приложения, и получается весьма странный результат от порядка их запуска.


 
Reindeer Moss Eater   (2003-01-22 09:35) [3]

Предлагаешь всем анализировать код, который к вопросу имеет весьма отдаленное отношение?


 
Странник ©   (2003-01-22 10:58) [4]

Да просто порты сидят на одном прерывании.
COM1 - COM3, COM2 - COM4.
И в твоем случае (если считать что оба порта на UART метеринки) открывается один порт два раза.
Для того, чтобы так их использовать, необходимо чтобы (начиная с 3-го) порты были на специальной плате-расширителе, либо на встроенном модеме.


 
ksa3003 ©   (2003-01-22 11:29) [5]

Устами Странника глаголит истина, всё так и есть


 
DOOMin   (2003-01-22 11:58) [6]

чтобы работать под виндами нужно, чтобы все порты имели отдельное прерывание. Проверено! Иначе надо писать спец. драйвер или покупать плату с таким драйвером


 
Greenman   (2003-01-23 05:33) [7]

Ну чтож, я так и предпологал с самого начала.
Наверное стоит попробовать giveio, хотя тоже сомневаюсь что что-нибудь получиться



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
1-54004
X3coder
2003-03-06 14:56
2003.03.17
Как событию присвоить действия?


4-54378
Antosya
2003-01-18 13:09
2003.03.17
Задравствуйте! Помогите, процессы...


14-54298
ig
2003-02-27 21:21
2003.03.17
Ищу DbGrid, в стиле гридов 1С


14-54204
MAN-In-RED
2003-02-28 02:07
2003.03.17
Как сделать на своей веб странице...


4-54364
John
2003-01-23 21:35
2003.03.17
Как узнать путь к файлу откуда была запущена моя программа?