Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Size of COM-port's FIFO  (Прочитано 14910 раз)
0 Пользователей и 1 Гость смотрят эту тему.
YuriyAG
Гость
« : 24-07-2003 13:27 » 

Подскажите пожалуйста как программно узнать размер буфера FIFO у СОМ-порта.
Спасибо заранее.
Записан
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #1 : 24-07-2003 14:02 » 

Копать в направлении GetCommProperties()
Записан

Megabyte be with you!
YuriyAG
Гость
« Ответ #2 : 24-07-2003 16:06 » 

GetCommProperties() возвращает размеры буферов драйвера, а мне нужен размер FIFO непосредственно чипа (устанавливается на Вкладке "Дополнительные настройки" порта)
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #3 : 24-07-2003 17:39 » 

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/serial/hh/serial/sseovr_9jc7.asp
Вот тут установки в Registry где это все валяется...


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_portconnector.asp
Вот тоже интересная структурка - я не копал но я думаю этого должно хватить...

Видел еще функции DDK но если надо можно и их копнуть и использовать....
Записан

А птичку нашу прошу не обижать!!!
YuriyAG
Гость
Hm
« Ответ #4 : 25-07-2003 07:39 » 

Спасибо!

Хитро как-то они накрутили.
Описанные в МСДН записи в регистре есть, но не соответствуют действительности.
Записи для стандартных СОМ-ов нашел здесь (соотв. настройкам видным в Э Доп. настройках" порта):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\2\Device Parameters
Бррр...

Для дополнительных СОМ-портов не нашел вовсе.

Если вдруг вспомнишь названия функций в DDK, кинь пожалуйста тоже. PortConnector про FIFO не рассказывает
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #5 : 25-07-2003 07:51 » 

Хорошо...
А дополнительные порты - это что?
COM1 COM2 сидят на разных IRQ - но COM3 физически = COM1  , а COM4=COM2... Гастройки FIFO должны совпадать....
Записан

А птичку нашу прошу не обижать!!!
YuriyAG
Гость
« Ответ #6 : 25-07-2003 09:14 » 

"Дополнительные порты" - устройство такое, у меня на компе 64 СОМ-порта Улыбаюсь
Теоретически они должны быть "прозрачны" для системы, те драйвер поддерживает все стандартные API и тд.
Даже если в регистри у драйвера свои ключи, он должен выдавать их значение через API корректно (если поддерживает и это)...
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #7 : 25-07-2003 10:02 » 

А драйвер к устройству есть???
Расширение портов просиходит за счет ресурсов устройства, так что управление должно осуществляться через IOCTL драйвера - это почти 100%

Если драйвер с описанием - то по идее оттуда и надо танцевать...

Каокй расширитель - ссылку на сайт производителя в студию.
Записан

А птичку нашу прошу не обижать!!!
YuriyAG
Гость
« Ответ #8 : 25-07-2003 14:26 » 

Может у драйвера и есть какой-нибудь специализированный API (в чем я сомневаюсь), но мне бы хотелось найти общий стандартный подход...
Впрочем раз его похоже нет -  заставлю юзера вводить ручками, чай не развалится Улыбаюсь.
Расширитель - фирмы Stallion www.stallion.com
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #9 : 25-07-2003 22:22 » 

Цитата

Может у драйвера и есть какой-нибудь специализированный API


IOCTL - достаточно стандартный метод управления драйверами.
Попробуй запросить ихний суппорт.
У них наверняка есть такие ответы, ведь на всамом деле - ты должен использовать стандартную ф-ию Device IOControl , которая отсылает код операции + данные , и управляет таким образом данными.
Записан

А птичку нашу прошу не обижать!!!
Сигизмунд
Гость
« Ответ #10 : 31-07-2003 10:24 » 

как-то парни я просматривал DataShits (Што то вроде ТТД на микросхему) COM , LPT , Совмещенных микросхем портов, так вот там размеры варьируются от 16 до 128 байт, но программно интерфейс у всех одинаков, и задается там только какую часть буфера использовать, как в винде ползунок, если же такое специфичное устройство на 64 порта, то больше чем уверен об этом знает только производидель микросхемы или кто програмировал ПЛИС для этого устройства, если штука поддерживает 921600, то минимум 64 байта буфер приема
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #11 : 31-07-2003 12:23 » 

Сигизмунд, а зарегистрироваться Улыбаюсь
Записан

А птичку нашу прошу не обижать!!!
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines