Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Дублирование данных на при чтении с COM |
Автор: Apimpl 29.12.2007, 20:13 | ||||
Здравствуйте. Столкнулся с небольшим непониманием. При записи в COM порт и последующем чтении из него, во входном буфере оказывается как только что записанная информация, так и ответ на неё от устройства. Например:
Опыта работы с этим нету, на форуме ответа не нашел... В чем причина вообще такого поведения? Один буфер отправки,приема ? 0_о Можно ли как-то этого избежать?..Не совсем удобно получать ответы... |
Автор: Den64 29.12.2007, 20:38 |
Apimpl я тоже так делаю, у меня всё нормально... Может у меня алгоритмы другие. Желательно б кусочек исходника. |
Автор: Apimpl 29.12.2007, 21:36 | ||||
Что-то в этом стиле:
Ну и handler события:
На выходе получаю то, о чем уже писал... На c++ помнится получал теже результаты... Может какие особенности есть ? ) |
Автор: Ivan. 30.12.2007, 06:56 |
Я так понимаю, ты с компа на устройство передаешь, а устройство отвечает? Может у тебя устройство повторяет то что ты говоришь и при етом отвечает. Например я делаю так: на ADM485 есть пины принимать и передавать. Прием у меня стоит всегда, а передачей я управляю. В таком случаи я буду слышать и то, что мне приходит и то, что я передаю, если во время передачи я получаю не то, что передавал, значит вместе со мной говорит ктото еще (выявляем колизию и затыкаемся). |
Автор: Apimpl 30.12.2007, 10:04 |
Ну вроде модем на ATZ должен говорить только OK, в моем случае это bluetooth модем сотового. Т.е. это нормально? 0_о |
Автор: Apimpl 3.1.2008, 20:10 |
"проблема" решилась... все верно,так и должно быть... =) всем спасибо... |
Автор: mgr 2.2.2009, 03:50 |
>"проблема" решилась... >все верно,так и должно быть... =) всем спасибо... Здравствуйте. Науглил эту порослую мохом тему. У меня та же проблема. Так как решилась проблема? Почему событие DataReceived два раза срабатывает? (при отключенном модеме ниразу) Через гипертерминал набираю "АТ" - приходит "ОК", "АТ" модем не повторяет после меня. Пролейте свет пожалуйста, ато бубен куплю |
Автор: xvr 2.2.2009, 19:20 | ||
Модем немедленно отправляет то что получил обратно. Так что те "AT", которые вы видите в Hyperterminal, на самом деле приходят от модема. Включите локальное эхо в Hyperterminal - сразу увидите |
Автор: mgr 3.2.2009, 01:25 |
Тогда всё становится на свои места. В таком случае вопрос на засыпку: можно ли как-то отключить "эхо" ? (Возможно командой АТЕ0, или какой-то другой) |
Автор: smalcom 8.2.2009, 12:56 |
ATE0 отключает эхо. Прим.: После ATZ обычно опять включается эхо |