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

Обмен данными по COM порту на нестандартной скорости - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.68
IREK_84
5 / 1 / 1
Регистрация: 30.07.2013
Сообщений: 17
08.08.2013, 17:15     Обмен данными по COM порту на нестандартной скорости #1
подскажите пожалуйста, как написать программу для обмена данными по COM порту на не стандартной скорости, например 10400бод.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2013, 17:15     Обмен данными по COM порту на нестандартной скорости
Посмотрите здесь:

Обмен данными между двумя процессами C++
C++ Технология обмен данными между приложениями
C++ межпрограммный обмен данными
Обмен данными между программами C++
Обмен данными между процессами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
08.08.2013, 17:57     Обмен данными по COM порту на нестандартной скорости #2
никак. какой смысл? Кто или что с тобой свяжется на нестандартной скорости?
Winorun
38 / 38 / 4
Регистрация: 03.05.2013
Сообщений: 177
08.08.2013, 17:59     Обмен данными по COM порту на нестандартной скорости #3
http://linuxportal.ru/entry.php/2171_0_3_0_C/
Кстати всеже интересно зачем
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
08.08.2013, 18:01     Обмен данными по COM порту на нестандартной скорости #4
Цитата Сообщение от Winorun Посмотреть сообщение
http://linuxportal.ru/entry.php/2171_0_3_0_C/
Это вообще-то для Линуксоидов. Для винды не подойдёт. Это раз.
Автор спрашивал не как работать с портом, а как работать с ним на нестандартной скорости. Очевидно, как открывать/закрывать порт в своей системе он и так знает, наверное. Это два.
Winorun
38 / 38 / 4
Регистрация: 03.05.2013
Сообщений: 177
08.08.2013, 18:15     Обмен данными по COM порту на нестандартной скорости #5
там есть две такие вещи
C
1
2
3
4
...
   speed_t c_ispeed;           /* input speed */ 
   speed_t c_ospeed;           /* output speed */ 
...
Ну а система в сообщении не прописана. Хотя с учетом того что винда это сделать не позволяет...
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
08.08.2013, 19:29     Обмен данными по COM порту на нестандартной скорости #6
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Это вообще-то для Линуксоидов.
Это не раздел для Windows, и ТС о ОС ничего не говорил.

http://stackoverflow.com/questions/4...152671#7152671

В Linux вроде как так можно установить нестандартную скорость на порту:
Bash
1
stty -F /dev/ttyX0 567890
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
08.08.2013, 19:50     Обмен данными по COM порту на нестандартной скорости #7
Цитата Сообщение от castaway Посмотреть сообщение
Это не раздел для Windows, и ТС о ОС ничего не говорил.
Ну мне вот в первую очередь интересно, зачем вообще нужна нестандартная скорость? У автора есть какой-то инопланетный прибор, общающийся по RS-232, создатели которого не знали стандартных скоростей?

Далее, Под виндой ведь тоже скорость задаётся заполнением соотв. поля в структуре DCB. Обычно этому полю присваивают константы из серии CBR_300, CBR_600, CBR_1200, CBR_2400 и.т.д., но теоретически можно прописать туда свою нестандартную скорость. Так что не в лине/винде дело.

Но я понятия не имею, будет ли работать в настройках COM порта эта скорость, потому что никогда и не пытался. Просто вот работать это будет врядли, и вот почему.

Если рассуждать в теории, у контроллера COM порта имеется тактовый генератор и делитель частоты, способные выдавать ограниченный набор частот - делителей некой базовой частоты.
Каким образом контроллер COM порта сможет обеспечить другие частоты? Перепробуйте хоть десяток ОСей - всё упрётся в железо.
Максимум, что ты получишь, это работу на стандартной частоте, наиболее близкой к заданной.
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
08.08.2013, 19:56     Обмен данными по COM порту на нестандартной скорости #8
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Ну мне вот в первую очередь интересно, зачем вообще нужна нестандартная скорость?
Да я сам понятия не имею для чего это может пригодится. Может ему(ей) препод такой вопрос задал. Давай спросим.

IREK_84, зачем тебе нестандартная скорость на порту?
VladimirU
118 / 96 / 18
Регистрация: 14.02.2013
Сообщений: 741
08.08.2013, 21:25     Обмен данными по COM порту на нестандартной скорости #9
Вот к примеру у меня есть желание собрать устройство которое будет зажигать и гасить лампы накаливания с помощью ПК.
Я решил связать моё устройство с ПК через интерфейс RS-232 - UART.
У меня в городе трудно найти радиодетали которые надо для моего устройства поэтому я буду использовать те которые найду.
Вообщем если к микроконтроллеру подключить кварцевый резонатор на 4 МГц то его интерфейс RS-232 будет работать на скорости 9615 бит.сек.

Добавлено через 2 минуты
Цитата Сообщение от IREK_84 Посмотреть сообщение
подскажите пожалуйста, как написать программу для обмена данными по COM порту на не стандартной скорости, например 10400бод.
Возможно тебе подойдёт справочник по WinAPI функциям.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
08.08.2013, 21:30     Обмен данными по COM порту на нестандартной скорости #10
Цитата Сообщение от VladimirU Посмотреть сообщение
Вообщем если к микроконтроллеру подключить кварцевый резонатор на 4 МГц то его интерфейс RS-232 будет работать на скорости 9615 бит.сек.
Вот именно! Это вполне стандартная скорость 9600. А автору нужно непонятно что.
Цитата Сообщение от VladimirU Посмотреть сообщение
Возможно тебе подойдёт справочник по WinAPI функциям.
Какой справочник???!!! И так ясно, как работать с COM портом через WinAPI. Автора интересовало именно применение нестандартных скоростей.
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
08.08.2013, 21:32     Обмен данными по COM порту на нестандартной скорости #11
Везде есть интернет и почта, всякие микроконтроллеры и радиодетали можно заказать по почте на китайских сайтах типа DealeXtreme ( http://dx.com/ru/?tc=RUB&gclid=CM7jh...FZJ7cAodMwoA-Q ), так что это не причина использовать нестандартную скорость.
VladimirU
118 / 96 / 18
Регистрация: 14.02.2013
Сообщений: 741
08.08.2013, 21:38     Обмен данными по COM порту на нестандартной скорости #12
Применение нестандартных скоростей возможно, а именно от 75 до 128000 бит.сек.
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
08.08.2013, 21:42     Обмен данными по COM порту на нестандартной скорости #13
Я с этим не спорил.
IREK_84
5 / 1 / 1
Регистрация: 30.07.2013
Сообщений: 17
08.08.2013, 22:30  [ТС]     Обмен данными по COM порту на нестандартной скорости #14
10400 бод надо для связи с К-Line адаптером (диагностика авто), люди же делают подобные программы.
всем спасибо за ответы! пока я узжаю на несколько неделью
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2013, 22:49     Обмен данными по COM порту на нестандартной скорости
Еще ссылки по теме:

C++ Обмен данными с ЭБУ через RS-232
Обмен данными между 2 клиентами через интернет C++
C++ Обмен данными между процессами

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

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
08.08.2013, 22:49     Обмен данными по COM порту на нестандартной скорости #15
Насколько я понимаю, в Windows достаточно указать значение 10400 в структуре DCB при вызове функции SetCommState.
...
BaudRate
The baud rate at which the communications device operates. This member can be an actual baud rate value, or one of the following indexes.
...
Yandex
Объявления
08.08.2013, 22:49     Обмен данными по COM порту на нестандартной скорости
Ответ Создать тему
Опции темы

Текущее время: 02:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru