Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Дублирование данных на при чтении с COM, читаются только что записанные данные 
V
    Опции темы
Apimpl
Дата 29.12.2007, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 29.12.2007

Репутация: нет
Всего: нет



Здравствуйте.
Столкнулся с небольшим непониманием.
При записи в COM порт и последующем чтении из него, во входном буфере оказывается как только что записанная информация, так и ответ на неё от устройства.
Например:
Цитата(шлем)

ATZ

Цитата(получаем)

ATZ
OK

Опыта работы с этим нету, на форуме ответа не нашел...
В чем причина вообще такого поведения? Один буфер отправки,приема ? 0_о
Можно ли как-то этого избежать?..Не совсем удобно получать ответы...
PM MAIL ICQ   Вверх
Den64
Дата 29.12.2007, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 6.4.2006
Где: Курск

Репутация: 1
Всего: 2



Apimpl  я тоже так делаю, у меня всё нормально... 
Может у меня алгоритмы другие. Желательно б кусочек исходника.
--------------------
Инагда пишу звуками.
PM WWW ICQ   Вверх
Apimpl
Дата 29.12.2007, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 29.12.2007

Репутация: нет
Всего: нет



Что-то в этом стиле:
Код

SerialPort _serialPort;
_serialPort = new SerialPort("COM8");
_serialPort.DataReceived += new SerialDataReceivedEventHandler(_serialPort_DataReceived);
_serialPort.Write("ATZ\r");

Ну и handler события:
Код

void _serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
    Console.WriteLine(((SerialPort)sender).ReadExisting());
}

На выходе получаю то, о чем уже писал...
На c++ помнится получал теже результаты...
Может какие особенности есть ? )
PM MAIL ICQ   Вверх
Ivan.
Дата 30.12.2007, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 2.11.2004

Репутация: 1
Всего: 2



Я так понимаю, ты с компа на устройство передаешь, а устройство отвечает? Может у тебя устройство повторяет то что ты говоришь и при етом отвечает.
Например я делаю так: на ADM485 есть пины принимать и передавать. Прием у меня стоит всегда, а передачей я управляю. В таком случаи я буду слышать и то, что мне приходит и то, что я передаю, если во время передачи я получаю не то, что передавал, значит вместе со мной говорит ктото еще (выявляем колизию и затыкаемся).


--------------------
Я могу ВСЁ, вопрос - сколько времени у меня это займет!
PM MAIL ICQ   Вверх
Apimpl
Дата 30.12.2007, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 29.12.2007

Репутация: нет
Всего: нет



Ну вроде модем на ATZ должен говорить только OK, в моем случае это bluetooth модем сотового.
Т.е. это нормально? 0_о

PM MAIL ICQ   Вверх
Apimpl
Дата 3.1.2008, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 29.12.2007

Репутация: нет
Всего: нет



"проблема" решилась...
все верно,так и должно быть... =) всем спасибо...
PM MAIL ICQ   Вверх
mgr
Дата 2.2.2009, 03:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.2.2009

Репутация: нет
Всего: нет



>"проблема" решилась...
>все верно,так и должно быть... =) всем спасибо...


Здравствуйте. Науглил эту порослую мохом тему.
У меня та же проблема.

Так как решилась проблема? Почему событие DataReceived два раза срабатывает? (при отключенном модеме ниразу)
Через гипертерминал набираю "АТ" - приходит "ОК", "АТ" модем не повторяет после меня.
Пролейте свет пожалуйста, ато бубен куплю

PM MAIL   Вверх
xvr
Дата 2.2.2009, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(mgr @ 2.2.2009,  03:50)
Через гипертерминал набираю "АТ" - приходит "ОК", "АТ" модем не повторяет после меня.
Пролейте свет пожалуйста, ато бубен куплю

Модем немедленно отправляет то что получил обратно. Так что те "AT", которые вы видите в Hyperterminal, на самом деле приходят от модема.
Включите локальное эхо в Hyperterminal - сразу увидите

PM MAIL   Вверх
mgr
Дата 3.2.2009, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.2.2009

Репутация: нет
Всего: нет



Тогда всё становится на свои места.
В таком случае вопрос на засыпку: можно ли как-то отключить "эхо" ? (Возможно командой АТЕ0, или какой-то другой)
PM MAIL   Вверх
smalcom
Дата 8.2.2009, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: 4
Всего: 7



ATE0 отключает эхо. Прим.: После ATZ обычно опять включается эхо


--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0645 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.