Easyelectronics.ru

Электроника для всех
Текущее время: 27 сен 2020, 23:16

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Как узнать доступные скорости COM-порта?
СообщениеДобавлено: 20 авг 2010, 13:21 
Только пришел

Зарегистрирован: 16 мар 2010, 23:56
Сообщения: 14
Здравствуйте!!!

Долго не мог выбрать на форуме подходящий для данного вопроса раздел и решил таки написать сюда.

Проблема вот в чем. Написал простенькое приложение для работы с COM-портом, суть которого заключается в отправке и приеме слов в/из порта и учета статистики ошибок. Интерфейс простенький, - выпадающая менюшка для выбора порта и кнопка начать/завершить тест. Определение числа доступных в системе портов сделано через считывание соответствующей информации из реестра Windows. С этим проблем не возникло. Дальше захотелось добавить в приложение еще один выпадающий список для выбора скорости работы COM-порта, но тут встал вопрос, как из приложения, с учетем выбранного порта, получить информацию о доступных для порта скоростях?

Наверняка кто-то уже сталкивался с этой проблемой и она где-то обсуждалась. Полазал в Гугле и ничего толком найти не смог. Если кто знает источник, в котором про это можно почитать, поделитесь информацией.

Заранее благодарю!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать доступные скорости COM-порта?
СообщениеДобавлено: 20 авг 2010, 14:18 
Старожил
Аватара пользователя

Зарегистрирован: 20 авг 2010, 14:14
Сообщения: 1619
Откуда: Рэшен Федерэшн
Просто создай в меню список доступных скоростей из диспетчера устройств.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать доступные скорости COM-порта?
СообщениеДобавлено: 20 авг 2010, 14:34 
Только пришел

Зарегистрирован: 16 мар 2010, 23:56
Сообщения: 14
Если бы все было так просто.... =) Дело вот в чем. На некоторых машинах, помимо родных COM-портов стоят так называемые платы расширения, эмулирующие COM-порты. Так вот для них список доступных скоростей несколько шире, чем для родных портов. На такой случай хотелось бы написать прогу так, чтобы она зная номер порта, сама могла отыскать информацию о доступных именно для этого порта скоростях и вывела бы их в выпадающую менюшку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать доступные скорости COM-порта?
СообщениеДобавлено: 20 авг 2010, 14:42 
Старожил

Зарегистрирован: 01 июл 2010, 15:30
Сообщения: 473
Откуда: Энгельс
Win Api используешь?
Функция GetCommProperties тебе поможет.
ссылко1
Она возвращает структуру COMMPROP,
ссылко2
в ней есть поле dwMaxBaud, что есть максимальная скорость поддерживаемая портом.
Соответственно все стандартные скорости ниже этой поддерживаются. А если это поле равно BAUD_USER(0x10000000) значит порт поддерживает не только стандартные скорости, а максимальную придется определять экспериментально: попробовал установить, установилось - поддерживает, ошибка - нет.

Если ещё, что нужно с портом сделать, смотри здесь:
ссылко3
Это все функции по работе с последовательными портами.

ссылки вставлять нормально надо, тогда будут пахать >_> xrayman


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать доступные скорости COM-порта?
СообщениеДобавлено: 20 авг 2010, 14:45 
Только пришел

Зарегистрирован: 16 мар 2010, 23:56
Сообщения: 14
Спасибо, дружище!!!! WinAPI использую.
Почитаю, потом отпишусь о результатах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать доступные скорости COM-порта?
СообщениеДобавлено: 20 авг 2010, 14:49 
Только пришел

Зарегистрирован: 16 мар 2010, 23:56
Сообщения: 14
Ссылки только не пашут, но это не страшно)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как узнать доступные скорости COM-порта?
СообщениеДобавлено: 24 авг 2010, 11:02 
Старожил
Аватара пользователя

Зарегистрирован: 29 янв 2010, 15:41
Сообщения: 1127
Откуда: Германия
lyberzon писал(а):
Просто создай в меню список доступных скоростей из диспетчера устройств.

В terminal сделано проще - сначала выбор стандартных скоростей RadiBox' ами, а потом еще одно поле с RadioBox'ом около него, а в поле можно ручками уже вбить нужную скорость. Типа custom скорость.

_________________
Мои поделки
http://www.fun-electronic.net/


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB