Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.05.06;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.005 c
1-17516
VictorSV
2002-04-23 11:00
2002.05.06
Модальные окна


1-17594
Varg
2002-04-22 16:09
2002.05.06
Как эмулировать окончание сеанса Windows?


14-17706
pan
2002-03-28 14:28
2002.05.06
А где исходники The Bat! взять ?


14-17690
Sergo
2002-03-23 10:05
2002.05.06
Сеть


1-17627
ng
2002-04-23 08:29
2002.05.06
Помогите с DOS командой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский