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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Программирование последовательного (СОМ) порта  (Прочитано 10392 раз)
0 Пользователей и 1 Гость смотрят эту тему.
prottoss
Гость
« : 25-10-2005 15:26 » 

Всем привет!
Может тема избитая, но по поиску в форуме и сети ничего путнего не нашел. Программирую СОМ порт. Если на порту ничего не сидит то все нормально. Но вот как-то я приобрел IrDA девайс Tekram (хотя это не важно). WinXp указал устойство, он поставила драйвер и все.. До порта я лостучаться пока никак не могу. Стандартной функцией CreateFile WinAPI открыть его не могу. Есть ли стандартные пути решения проблемы?
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 25-10-2005 21:11 » 

Нет - стандартных нет. Пока никакой драйвер не занимает порт - его обслуживает стандартный драйвер serial.sys
Чтобы работать с другим драйвером тебе надо знать его функции и команды. Тогда можешь "достучаться" с помощью ф-ции DeviceIoControl
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
prottoss
Гость
« Ответ #2 : 25-10-2005 21:15 » 

как я достучусь с помощью DeviceIoControl если я не могу получить хэндл порта? Или вместо хэндла порта надо получить хэндл драйвера.
Тогда вопрос, как мне перечислить коммуникационные устройства(драйверы)?
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 25-10-2005 21:34 » 

Хендл на устройство ты получаешь с тем же CreateFile - только тебе надо точно знать как называтся устройство. Другое дело, что ты вряд-ли сможешь использовать СТАНДАРТНЫЕ апишные ф-ции
типа SetComState, ReadFile  и тп. Хотя конечно если драйвер это позволяет, то можно попробовать.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
prottoss
Гость
« Ответ #4 : 25-10-2005 22:15 » 

Хм...Как же тогда другие программы общаются через IrDA с внешними устройствами? Не уж то они перечисляют все знакомые им драйверы производителей? Или можно сделать такой вызов:
CreateFile("irsir.sys"....);

У меня именно такой драйвер на порту с ИК
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #5 : 25-10-2005 22:50 » 

Честно - не знаю. Никогда таким не занимался - свой драйвер делал, а чужих боялся. Имя для CreateFile должно быть типа "\\.\Устройство"
ведь СОМ порт на самом деле тоже обращается через \\.\СОМ64 - констнанты определены только для первых 9ти.
Думаю имеет смысл посмотреть инфу по твоему IrDA-драйверу в инете - если это работает с другими прогами, то должен быть какой-то доступ. А вообще-то задай вопрос в "Драйверы" - если уж в эту сторону копать хочешь. Там народ опытный. И, кстати, в "Embedded systems" удали.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
prottoss
Гость
« Ответ #6 : 25-10-2005 23:07 » 

Кое что накопал. Залез на msdn.micrisoft.com. Не помню ссылку, закрыл уже, но нашел через поиск->irda.
Оказывается есть способ программировать через АПИ. Есть файл af_irda.h. в \\include. Там кое что есть для начала. Да и в MSDN есть примеры. Так что буду пробовать.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines