Russian Qt Forum

Qt => Общие вопросы => Тема начата: zalivaha от Март 13, 2010, 18:43



Название: Общий язык с устройствами через ComPort
Отправлено: 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


Название: Re: Общий язык с устройствами через ComPort
Отправлено: zalivaha от Март 13, 2010, 22:43
пишу в таком виде: %R1Q,2008:1,2#0D#0A
Ответ получаю 1 из 20 раз.
непонятки какието.


Название: Re: Общий язык с устройствами через ComPort
Отправлено: lit-uriy от Март 14, 2010, 02:55
Если я правильно понял, то ты пытаешься подобрать замену терминатору, для конкретной программы.

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


Название: Re: Общий язык с устройствами через ComPort
Отправлено: Mikhail от Март 14, 2010, 08:55
Как построена работа с последовательным портом?
Какой тайм-аут по приему?
Сколько времени ожидаешь ответ?


Название: Re: Общий язык с устройствами через ComPort
Отправлено: Gorin от Март 15, 2010, 11:57
Ты не шлешь первый байт предложения - код LF.
Вместо [<LF>] жми enter в поле "Data for send", таким образом и пошлешь перевод строки, LF, ASCII код 10.
Картинка с примером во вложении.


Название: Re: Общий язык с устройствами через ComPort
Отправлено: zalivaha от Март 16, 2010, 11:41
Спасибо за помощь. Воспользовался библ QSerialDevice_v0.2.0, и все заработало. Отличный продукт.
Есть у нас прогеры! ЕСТЬ!!!