![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Одновременная работа с Com1 и Com3 под Win2k [D6, Win2k]
Greenman © (2003-01-22 06:24:00)Не получается одновременно работать с 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 (и все заняты), а наверное будет еще больше.
Greenman (2003-01-23 05:33:00) [1]Ну чтож, я так и предпологал с самого начала.
Наверное стоит попробовать giveio, хотя тоже сомневаюсь что что-нибудь получиться
DOOMin (2003-01-22 11:58:00) [2]чтобы работать под виндами нужно, чтобы все порты имели отдельное прерывание. Проверено! Иначе надо писать спец. драйвер или покупать плату с таким драйвером
ksa3003 (2003-01-22 11:29:00) [3]Устами Странникаглаголит истина, всё так и есть
Странник (2003-01-22 10:58:00) [4]Да просто порты сидят на одном прерывании.
COM1 - COM3, COM2 - COM4.
И в твоем случае (если считать что оба порта на UART метеринки) открывается один порт два раза.
Для того, чтобы так их использовать, необходимо чтобы (начиная с 3-го) порты были на специальной плате-расширителе, либо на встроенном модеме.
Reindeer Moss Eater (2003-01-22 09:35:00) [5]Предлагаешь всем анализировать код, который к вопросу имеет весьма отдаленное отношение?
Greenman (2003-01-22 09:27:00) [6]Это просто опечатка, в коде все нормально. Тем более, при тестировании эти два куска кода разнесены в два различных приложения, и получается весьма странный результат от порядка их запуска.
Reindeer Moss Eater (2003-01-22 09:00:00) [7]Ты дважды присваиваешь FComPortHandle1 , и ни разу ничего не присваиваешь FComPortHandle2