Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Платформы Windows Mobile и Windows Embedded > USB-модем - "мусор" в ответах


Автор: Kei 11.3.2010, 21:10
Моя ОС: OpenSUSE 11.2
Имею 3G USB модем: ZTE MF 626

Читаю ответы модема через cat /dev/ttyUSB2 (или при помощи моей программы на C++)
Проблема заключается в том, что в своих ответах, модем посылает много мусора.
Например, отправляю ему команду AT+ZOPRT=5
А в ответе вижу примерно следущее:

"AT+ZOPRT=5"                                                                                                                                                     
"AT+ZOPRTT+ZOPRTT+ZOPRTT+ZOPRTT+ZOPRTT+ZOPRTT+ZOPRTT+ZOPRTT...... и т.д. очень много раз                                                                                  
""                                                                                                                                                               
""                                                                                                                                                               
"ERROR"  
   


При этом команда выше срабатывает, иногда еще и приходит "ОК", а потом мусор. Иногда мусора больше, меньше и т.п. Всегда много пустых строк. В общем, полное неадекватное поведение, которое я не могу понять.

И так со всеми командами, котоыре я ему посылаю.


Скачивал программу для управления ZTE USB модемом, называлась она CLARO
После ее запуска, она что-то делает, и все становится ОКЕЙ, т.е. так:

"AT+ZOPRT=5"
"OK"



При этом, я как "читал" порт, так и продолжаю "читать" дальше, после запуска проги, и даже закрытия ее, модем вдруг начал нормально реагировать на команды.

В чем может быть проблема?
Пишу читалку ответов модема на QT C++, мусор явно мешает.

Автор: Kei 17.3.2010, 15:05
Разобрался в чем было дело.
Нужно с помощью stty выставить другие настройки. 

stty -iutf8 hupcl -icrnl -opost -onlcr -isig -icanon -echo -echoe -echok -F /dev/ttyUSB2

Другой,вопрос, как это реализовать в qt C++

Автор: Kei 17.3.2010, 19:20
Сделал просто функцией system()

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)