Russian Qt Forum
Ноябрь 27, 2024, 02:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Общий язык с устройствами через ComPort  (Прочитано 3954 раз)
zalivaha
Гость
« : Март 13, 2010, 18:43 »

Я не очень давно изучаю с++, програмку более менее набросал теперь пытаюсь разобраться с ком портами, но что то с места никак не сорву.
есть датчик с которым нужно наладить связь
из redmi:
Синтаксис запроса ASCII:
[<LF>]%R1Q,<RPC>[,<TrId>]:[<P0>][,<P1>,...]<Term>
Дополнительные элементы в скобках []. Угловые скобки<> окружают названия или описания. У этих названий есть переменная значения в зависимости от их типов и значений. Сами угловые скобки не часть переданного текста.Символы, не окруженные скобками, являются буквальным текстом и являются частью протокола.
Запрос: %R1Q, 2108:1000,1^m
Возможный ответ может быть следующие: %R1P, 0,0:0,0.9973260431694,1.613443448007,1.3581^m
Строка терминатора (заданный по умолчанию CR/LF, использование COM_SetTerminator, чтобы изменить терминатор). Как общий ярлык ‘^m’ будет использоваться в примерах.
Что за терминатор строки, как я не пробую не получаю ответа.
Как правильно составить текстовую строку для этого приложения http://qt-apps.org/content/show.php/QT_comport?content=95246
Записан
zalivaha
Гость
« Ответ #1 : Март 13, 2010, 22:43 »

пишу в таком виде: %R1Q,2008:1,2#0D#0A
Ответ получаю 1 из 20 раз.
непонятки какието.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Март 14, 2010, 02:55 »

Если я правильно понял, то ты пытаешься подобрать замену терминатору, для конкретной программы.

Попробуй:
\r\n
хотя сомнительно, что она это дело ни как не заэкранирует
Записан

Юра.
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #3 : Март 14, 2010, 08:55 »

Как построена работа с последовательным портом?
Какой тайм-аут по приему?
Сколько времени ожидаешь ответ?
Записан
Gorin
Гость
« Ответ #4 : Март 15, 2010, 11:57 »

Ты не шлешь первый байт предложения - код LF.
Вместо [<LF>] жми enter в поле "Data for send", таким образом и пошлешь перевод строки, LF, ASCII код 10.
Картинка с примером во вложении.
« Последнее редактирование: Март 15, 2010, 11:59 от Gorin » Записан
zalivaha
Гость
« Ответ #5 : Март 16, 2010, 11:41 »

Спасибо за помощь. Воспользовался библ QSerialDevice_v0.2.0, и все заработало. Отличный продукт.
Есть у нас прогеры! ЕСТЬ!!!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.056 секунд. Запросов: 23.