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

Вниз

COM1-COM4 и IRQ - ???   Найти похожие ветки 

 
Asdf622   (2001-11-23 21:21) [0]

Имеется проблема:
С использованием "Async Professional 3.00" (Win98SE, Delphi5) идет опрос трех устройств висящих на COM2,3,4 (плюс мышь на COM1). При этом если порты выставлены: COM1 на IRQ4, COM2 на IRQ3, COM3 на IRQ4, COM4 на IRQ3 то нормально работают только устройства на COM1, COM2. На СОМ3 и СОМ4 передаются какие-то
рваные куски информации. Если пересадить СОМ3 на IRQ10, СОМ4 на IRQ11 то "Async Pro" не видит их. Хотя по коссвенным признакам устройства и порты функционируют нормально. Как я понимаю "Async Pro" знает для COM-портов только IRQ3,4? Как ему задать IRQ для портов рукамя я не нашел.
Кто нибудь знает как решить эту проблему?
З.Ы. Использование "Async Pro" для связи с портами необходимо.
------------------------
Дополнения и подробности:
Аналогичная проблема возникает если заменить "Async Professional 3.00" на компонент "ComDrv32" - представленный в "Кладовке". Картина точно такая же:
при установке COM3 на IRQ4 и свободном COM1 все работает;
при установке COM3 на IRQ4 и занятом COM1 - обрывки данных на СОМ3.
при установке COM3 на IRQ10 и произвольном состояние COM1 внешнее устройство (мультиметр Protek-506) сигнализирует о передаче данных НО в буфер обмена при этом остается пустым.
На компутере установлено две мультикарты с поддержкой СОМ1-СОМ4.
Помогите, кто сталкивался с подобной задачей.
------------------------
Кусок кода отвечающий за ввод данных:
...
CPD_h1.Port:=pnCOM3;
CPD_h1.BaudRate:=br1200;
CPD_h1.DataBits:=db7BITS;
CPD_h1.StopBits:=sb2BITS;
CPD_h1.Parity:=ptNONE;
CPD_h1.Connect;
...
for i:=1 to 15 do CPD_h1.ReadChar(c[i]);
...


 
33   (2001-11-25 19:15) [1]

Для начала попробуй мышь перебросить на PS/2.


 
Asdf622   (2001-11-26 10:30) [2]

Она и так на нем. Это здесь не причем.
Проблема наблюдается на обоих парах портов СОМ1-СОМ3 и СОМ2-СОМ4.
Какие еще идеи?


 
Erik Ivanov   (2001-11-26 12:36) [3]

Все просто СОМ1-СОМ3 сидят на одном IRQ и драйвер должен уметь определить из какого порта идут данные. Вроде проблем быть недолжно Windows это умеет. Но возможно он делает это только при определеной комбинации флагов в DCB. Сам мучился с COM, проблему можно решить чисто логическим методом. Хотя проще сделать свой VXD м незнать проблем, програмирование COM под DOS на порядок проще.


 
33   (2001-11-27 00:58) [4]

>..опрос трех устройств висящих на COM2,3,4 (плюс мышь на COM1).

Так мышь на COM1 или на PS/2?

Попробуй COM3 или 4 выделить другое IRQ, но не 10-11, а 5 или 7.
Принтер прийдется отключить или сдвинуть.

Проверь мультикарты - правильно настроенны?

Какая мама?


 
Asdf622   (2001-11-27 12:39) [5]

Мыша в рабочем состояние будет стоять на СОМ1 но сейчас на PS/2.
Пара мультиметров например на СОМ1-СОМ3.

Выделение других IRQ под СОМ3 - не меняет "клинической картины".
(т.е. если для СОМ3 IRQ не 4 то данные не идут (буфер обмена пуст))

Мультикарты настроены верно: 1.при загрузке видно 4 СОМ-порта.
2.в Винде все порты видны и не конфликтуют.


 
pasha676   (2001-11-27 14:24) [6]

Вообщето Winды частенько глючили если больше двух портов. На 95 такую ситуацию периодически наблюдал


 
33   (2001-11-28 09:24) [7]

Проблемы с подключением Мыши на COM будут на 90%.
Проверенно на модемах.

А IRQ ты где меняешь?
В BIOSe или в Винде?

Давно не работал с Async Professional, но кажется, там
была возможность менять прерывание.

А зачем мультиметрам прерывание? Им адресов не хватает?
Кстати адреса портов (3f8-com1, 2f8-com2, 3e8-com3, 2e8-com4)
правильно стоят в BIOSE и в Винде.


 
Asdf622   (2001-11-28 10:50) [8]

"33", спасибо за попытки помочь.
1. Мышь - не самое главное, главное работа других трех портов с
мультиметрами (3 штуки).
2. IRQ меняю в Винде, в БИОСе (по крайней мере в моем) можно определить
только адрес порта (1-4), а IRQ явно не задается.
3. Я вроде порылся в ней, но ничего не нашел (адрес - задать можно, IRQ -
нет) из этого и подозрение что она знает только IRQ3,4. Если встречал
в "AsyncPro" такую настройку, подскажи хотя бы куда копать.
4. Адреса портов стоят правильно в BIOSE и в Винде.
А зачем им IRQ - не знаю, но вообще-то каждому СОМу он зачем-то положен.


 
Zebo   (2001-11-28 19:55) [9]

В компьютере стандартно установлено 2 порта.
Если вы добавите еще одну плату то именно на плате должно быть
возможность выбора адреса и irq (обично jumper-и)
на многих платах можно вибирать только IRQ-3/4
скорее всего вам нужно плата где IRQ можно задать другой.


 
Asdf622   (2001-11-28 22:41) [10]

Мультикарты достаточно старые, стояли еще на 386.
На них нет выбора IRQ в явном виде.
Каждая пара портов определяетс двумя джамперами: первый - COM1/3: Enable-Disable, второй - выбор СОМ1-СОМ3.
Для СОМ2/4 - аналогично.
Какие при этом IRQ поддерживает карта - неведомо.


 
gepard ©   (2001-11-29 15:40) [11]

Полноценно работать с тремя комами одновременно(открыть и читать-писать сразу в три) я смог только после того, как поставил навороченную мультяху(с возможностью выбора прерывания) и на ней сдвинул прерывание для третьего порта(кажется на IRQ5). Сколько не пытался - на одном прерывании два кома не открывались.


 
erik ©   (2002-02-07 13:40) [12]

Можно работать на одном прерывании, но не под Windows. При получении прерывания надо ситывать оба порта и определять в котором данные. Далее передовать их дальше и указанием порта.


 
Juri   (2002-02-08 19:09) [13]

Может не сильно в тему если это штука которую ты делаеш, это всерьез и надолго то можно сделать электронный коммутатор в котором можно выбирать номер COM,тогда достаточно один COM, но аппаратные устройства можно опрашивать только последовательно.



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

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

Наверх




Память: 0.5 MB
Время: 0.009 c
1-17600
Egor111
2002-04-22 17:23
2002.05.06
TListBox


7-17716
dorixe
2002-01-03 16:57
2002.05.06
Мониторы


1-17644
Саша
2002-04-23 10:30
2002.05.06
Размер mdichild окна


1-17578
Чужой
2002-04-22 14:03
2002.05.06
Реестр


1-17624
Axenow
2002-04-21 12:41
2002.05.06
Помогите расположить текст вертикально.