Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: GE863-GPS и соединения с сервером
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
mempfis_
Добрый день. Столкнулся вот с какой проблемой.
Есть модем GE863-GPS который управляется atmega128 и инициализированный на работу через CMUX сразу по 3м виртуальным каналам.
Все АТ-команды исполняются нормально кроме команд связанных с работой с соккетами (SD, SKTD).
При подаче например команды SD=1,0,80,"www.google.com" модем выдаёт в виртуальный канал CONNECT и на этом не останавливается - бывает выдаёт этот CONNECT постоянно (пока вся плата не перезагрузится из-за переполнения фифо-уарт). Бывает также что следующая команда после подачи SD выдаёт ERROR и этот ERROR валит в порт постоянно, или NO CARRIER.

Для общения с модемом используется уарт atmega128 и линии DTR/RTS/CTS причём DTR/RTS постоянно установлены в 0 а CTS вообще не используется. Для каждого из виртуальных каналов DTR/RTS установлены в состояние готовности (без их установки модем соединялся с сервером но в порт вообще ничего не выдавал т.е. небыло CONNECT/NO CARRIER).

Есть плата на которой подобный модем соединён с ftdi и на которую пробовал подавать аналогичные команды с обычного терминала через TelitSerialPortMux. Так там всё работает правильно - после SD выдаётся один CONNECT (а не множество как у меня) и один NO CARRIER даже если по другим каналам передавать какие-либо команды.

Подскажите что это может быть? Куда копать? Складывается ощущение что модем выдаёт ответ на последнюю команду много раз.
Буду благодарен за любые идеи по этому вопросу.
million68
Подслушайте вторым СОМ-портом обмен с "обычного терминала через TelitSerialPortMux" и обмен с "уарт atmega128". Сравните, может Мега чтой-то не то выдает...
mempfis_
Цитата(million68 @ Nov 11 2009, 13:22) *
Подслушайте вторым СОМ-портом обмен с "обычного терминала через TelitSerialPortMux" и обмен с "уарт atmega128". Сравните, может Мега чтой-то не то выдает...


Я так уже делал - запустил TelitSerialPortMux, запустил 2 терминала, включил SerialPortMonitor и смотрел всё что TelitSelitSerialPortMux шлёт в модем.
Обычные пакеты адресованные различным каналам - подобное делаю и я только через атмегу. Единственное что было не так как у меня - это TelitSerialPortMux перед коннектом с сервером слал команду установки DTR/RTS (я у себя тоже сделал такой пакет - после этого у меня появился коннект с глюками).
mempfis_
Вопрос снят - проблема оказалась не в самом модеме а в подпрограмме разгребания пакетов по виртуальным каналам.
Теперь всё работает как положено.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.