Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 344
Записей в блоге: 2
#1

Через HyperTerminal доступна частота COM порта 921600, но в приложении максимальная частота гораздо меньше - C++

31.03.2014, 19:53. Просмотров 2177. Ответов 28

Через HyperTerminal доступна частота COM порта 921600, но когда я пишу на C++ максимальная частота гораздо меньше. Кто знает, как на с++ работать с com портом на частоте 921600, как HyperTerminal.

Добавлено через 39 секунд
сейчас я просто читаю его, как файл.

Добавлено через 7 часов 10 минут
Ну что, никто не знает? Я что единственный кто с COM портом работает?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2014, 19:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Через HyperTerminal доступна частота COM порта 921600, но в приложении максимальная частота гораздо меньше (C++):

Критично ли, если частота шины мамки меньше, чем частота шины проца? - Материнские платы
у проца 5.2ГГц а у мамки 4.8 ГТ/с хотя я так понял еденицы измерения тут разные но все же будет ли заметна разница?

Не максимальная частота у ЦП - Процессоры
Впервые сталкиваюсь с подобным. Как бороться?

Максимальная частота процессора - BIOS
Я купил новый 4-х ядерный процессор,мне в магазине сразу выставили максимальную частоту процессора - 3,2 ГГц,но по умолчанию стояло всего...

i7-4770K и максимальная частота памяти - Процессоры
Привет! Собираю такую систему: процик Intel Core i7-4770K Haswell (3500MHz, LGA1150, L3 8192Kb), материнка ASUS Z87-PRO и ОЗУ Corsair...

Максимальная тактовая частота ПЛИС - Программируемая логика
Знает кто как определить максимальную тактовую частоту для ПЛИС. Например, для ПЛИС фирмы Altera Cyclone V?

Максимальная частота процессора Intel - Процессоры
Здравствуйте, может уже кто-то сталкивался с этим процессором и аналогичным вопросом. Перейду сразу к своему вопросу. У меня в ПК стоит...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
11.04.2014, 13:01 #16
C++
1
2
3
4
5
6
7
8
9
10
11
12
hCOM=CreateFile(comName,GENERIC_READ |GENERIC_WRITE,0,NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED, NULL);
...
 memset(&dcb, 0, sizeof(dcb));
 GetCommState(hCOM, &DCB);
 
 DCB.BaudRate= 921600;
 DCB.Parity  = EVENPARITY;
 DCB.ByteSize= 8;
 DCB.StopBits= OneStopBit;
 
 if (! SetCommState (hcom, &dcb))
...
Для портов выше 9-го имя задается как:
\\\\.\\COMN
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 344
Записей в блоге: 2
11.04.2014, 13:04  [ТС] #17
Имя порта COM1 и на частоте 115200 он работает, а выше нет. Проверено на двух разных машинах и на двух разных ОС на каждой.

Цитата Сообщение от raxp Посмотреть сообщение
C++
1
hCOM=CreateFile ...
Извините, но с Вашими исправлениями та же ошибка.

Добавлено через 37 секунд
Правда проверял только на Visual C++ 2010.
newbie666
Заблокирован
11.04.2014, 13:07 #18
Цитата Сообщение от НеСказочник Посмотреть сообщение
Имя порта COM1 и на частоте 115200 он работает, а выше нет
а он и не будет на большей частоте работать )) Это ж ком порт
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 344
Записей в блоге: 2
11.04.2014, 13:12  [ТС] #19
Цитата Сообщение от newbie666 Посмотреть сообщение
а он и не будет на большей частоте работать )) Это ж ком порт
Но ведь Гипертерминал же на такой частоте с COM портом работает
Миниатюры
Через HyperTerminal доступна частота COM порта 921600, но в приложении максимальная частота гораздо меньше  
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 344
Записей в блоге: 2
11.04.2014, 13:13  [ТС] #20
Это, считай почти 1 Мбит/с. прямо как USB 1.0.
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
11.04.2014, 13:36 #21
Начнем с того, через что подключена ваша ПЛИС (судя по скриншоту), через FTDI и работа по виртуальному COM-порту over USB? Тогда все должно работать.

Тестировать все же рекомендовал бы на хрюше и семерке, а не на восьмерке.
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 344
Записей в блоге: 2
11.04.2014, 13:45  [ТС] #22
Цитата Сообщение от raxp Посмотреть сообщение
Начнем с того, через что подключена ваша ПЛИС (судя по скриншоту), через FTDI и работа по виртуальному COM-порту
Это не ПЛИСа, а обычный гипертерминал. FTDI на отладочной плате ML401 нету и отродясь небыло. Подключаюсь я через реальный COM порт, трапециидальный такой с 9 контактами, который по RS232 работает. Подключаюсь через штатный контроллер на материнке, которые, слава богу, пока ещё ставят в новые компы. С ПЛИСой я общаюсь из программы на с++, в которой не удаётся, в отличие от гипертерминала, установить такую частоту.

Добавлено через 2 минуты
Так как ПЛИСа будет выполнять роль сопроцессора для выполнения некоторых вычислений в программе на С++, то общение с ней через Гипертерминал - это только поиграться, но совершенно бесполезно для меня.
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
11.04.2014, 14:40 #23
Причем тут вообще гипертерминал, я спрашивал за скриншот ваш. Код ошибки в студию.
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 344
Записей в блоге: 2
11.04.2014, 14:46  [ТС] #24
Метод
C++
1
SetCommState(hCOM, &dcb)
возвращает BOOL. Как мне узнать код ошибки?
SatanaXIII
Супер-модератор
Эксперт С++
5609 / 2643 / 244
Регистрация: 01.11.2011
Сообщений: 6,502
Завершенные тесты: 1
11.04.2014, 14:51 #25
НеСказочник, GetLastError
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 344
Записей в блоге: 2
11.04.2014, 14:52  [ТС] #26
Код 87
SatanaXIII
Супер-модератор
Эксперт С++
5609 / 2643 / 244
Регистрация: 01.11.2011
Сообщений: 6,502
Завершенные тесты: 1
11.04.2014, 15:03 #27
Цитата Сообщение от НеСказочник Посмотреть сообщение
Код 87
87 -- Invalid parameter (Неверно задан параметр)
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 344
Записей в блоге: 2
11.04.2014, 15:08  [ТС] #28
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Invalid parameter (Неверно задан параметр)
Ну ещё бы не верно. Частота-то как-раз неверно и задана. Только вот каr его на частоте 921600 запустить?

Добавлено через 2 минуты
Ладно, спасибо за помощь, но надоел мне этот COM порт. Лучше USB вплотную займусь.
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
11.04.2014, 15:16 #29
Займитесь, займитесь. А тем временем, вернитесь в моему заданию структуры (без дерганья RTS и прочего, только стоп-бит, битность и скорость) и попробуйте считать настройки DCB и вывести их в своей утилите, предварительно настроив сам порт в диспетчере оборудования. Скорость задана верно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2014, 15:16
Привет! Вот еще темы с ответами:

Asus eah5550 Максимальная частота только 30 Гц - Мониторы
Windows 7 x64 Видеокарта Asus EAH5550/DI/1GD3(LP) Раньше работало два монитора 19 дюймовых - проблем не было. Появился новый монитор...

Максимальная частота обрабатываемого сигнала на настольном компьютере - Цифровая обработка сигналов
Приветствую, Не знаю насколько корректен мой вопрос, буду приводить конкретные характеристики. Имея обычный настольный компьютер (с...

Какая максимальная частота для процессора Athlon X4 635? - Процессоры
Какая максимальная частота для процессора Athlon X4 635?Мне удалось разогнать до 3,4 ГГЦ с множителем 14,5 и до 3,5 ГГЦ с множителем...

Частота шины памяти и эффективная частота - Оперативная память
При покупке модулей памяти возник вопрос. Какая частота шины памяти? В описании модуля написано Частота работы 133 Мгц и с низу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.04.2014, 15:16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru