Nordman_ufa 0 5 января, 2008 Опубликовано 5 января, 2008 · Жалоба здравствйте ещё раз. :-) как я и думал вопросы только начинаются. стыдно, а что подлелать? :laughing: после включения модуля и получения от него строки "Call Ready" отсылаю в него строку "AT" для синхронизации, затем получаю ответ "AT OK" после этого пытаюсь выставить фиксированную скорость обмена: AT+IPR=19200 модуль отвечает вполне корректно: "AT+IPR=19200 ОК" после этого не могу достачутся до модуля ни на 19200, ни на 115200. до установки фиксированной частотты модуль команды понимает, но почему-то со второго раза. судя по описаню ат-команд выбранная вновь частота обменя вступает в силу как раз после получения мной ответа: "AT+IPR=19200 ОК" подскажите пожалуйста в чем дело? где я ошибаюсь? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Anthoni 0 5 января, 2008 Опубликовано 5 января, 2008 · Жалоба Наверное дело в МК, что б каждый раз не устанавливать скорость используй - AT&W Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shb 0 5 января, 2008 Опубликовано 5 января, 2008 · Жалоба У меня при работе с терминалкой работает так. После включения до установки фиксированной скорости модуль только первый раз проглатывает АТ. Затем на все АТ стабильно дает ОК. Отключаюсь и перенастраиваю на другую скорость терминалку, подключаюсь. Первый АТ нет реакции, все остальные ОК. Устанавливаю IPR=19200. Перенастраиваю терминалку на 19200. На первый и последующий АТ шлет ОК. Перенастраиваю на другую скорость терминалку. На все АТ тишина либо мусор, в зависимости от скорости. Что то в МК не корректно перенастраиваешь скорость. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nordman_ufa 0 6 января, 2008 Опубликовано 6 января, 2008 · Жалоба вы были совершенно правы. действиетльно некорректно устанавливал частоту обмена. сегодня проверил на свежую голову и сразу нашёл ошибку. все-таки сам дурак. :-) но всеравно модуль стабильно проглатывает первую посылку. точнее не проглатывает, а возвращает на нее пустую строку: 0x0D\0x0A 0x0D\0x0A... странно.... в принципе пол беды... лишь бы он стабильно так делал... эхо у меня включено. частота обмена фиксированная. ситауция такая: 1. шлю модулю: AT\0x0D 2. первый раз он стабильно возвращает: 0x0D\0x0A 0x0D\0x0A 3. повторно шлю AT\0x0D 4. модуль возвращает: 0x0D\0x0A AT 0x0D\0x0A если тут же повторять шаг 1, то опять возвращает пустую строку... и так со всеми командами. ни у кого нет мыслей по этому поводу? может это какие-то настройки SIM300? ошибся когда писал: 4. модуль возвращает: 0x0D\0x0A AT 0x0D\0x0A 0x0D\0x0A OK 0x0D\0x0A Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shb 0 6 января, 2008 Опубликовано 6 января, 2008 · Жалоба У меня так. При конкретном IPR. 1. шлю модулю: AT\0x0D 2. возвращается AT\0x0D\0x0D\0x0A\OK\0x0D\0x0A 3. повторно шлю AT\0x0D 4. возвращает: AT\0x0D\0x0D\0x0A\OK\0x0D\0x0A Терминалка после этого пишет отправлено 6 символов, принято 18. И так стабильно. Сначало возвращается то что отправил символ в символ, затем ОК обрамленный 0D\0A Может ты не до конца читаеш буфер. А при следующем чтении хватаеш предыдущие хвосты (недочитанные). Разберись. Пустая строка это вообше странно. Не может такого быть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nordman_ufa 0 7 января, 2008 Опубликовано 7 января, 2008 · Жалоба кажется начинаю понимать... пишу для контроллера буффер организовал программный. так что вполне возможно что и ошибся где-то. первый раз пишу подобным образом. до этого по другому организовывал обмен. а щас хочется поднять уровень программирования. :-) как я понял из описания: 1.4 AT Command syntax The "AT" or "at" prefix must be set at the beginning of each command line. To terminate a command line enter <CR>. Commands are usually followed by a response that includes.”<CR><LF><response><CR><LF>” Throughout this document, only the responses are presented, <CR><LF> are omitted intentionally. модуль всегда возвращает следующую строку: <CR><LF><ответ><CR><LF>. а если то, что ты говоришь правильно, то получается что при возврате эха он отсылает обратно мою посылку один в один. без первоначальных <CR><LF> это объясняет почему я принимаю первый раз пустую строку. потому что я ищу начало строки по первому входжению в нее <CR>, а её конец по второму вхождению <CR>. поэтому эхо я понимаю как всеголишь начало первой строки, а начало ОК как её конец. при таком приеме корректная синхронижация наступает только при второй посылке. :-) так что похоже опять я дурак. а модуль молодец :-) буду переписывать :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shb 0 7 января, 2008 Опубликовано 7 января, 2008 · Жалоба модуль всегда возвращает следующую строку: <CR><LF><ответ><CR><LF>. Да в заводских установках. Формат ответа можно поменять. Не помню какой камандой, надо покопаться. Вообще если работать с МК я эхо отключаю. Мешается, лишние символы обрабатывать зачем. Посмотри команду ATV Set result code format mode Кстати пока баловался с автоботрейтом выяснилось что модули SIM300D с последней 13-й прошивкой его не имеют. При IPR=0 работают только на 115200. Похоже скоро будет след. прошивка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nordman_ufa 0 8 января, 2008 Опубликовано 8 января, 2008 · Жалоба я раньше тоже отключал эхо. :-) а щас решил оставить. удобным кажется то, что модуль возвращает команду. сразу ясна чего он там хочет. вобщем, с твоей неоценимой помощью разобрался с форматом посылки. :-) теперь стабильно работает и с первого раза. :-) спасибо боольшое. а тебе не приходилось решать задачу - сделать гаратнированный дозвон до абонента? я как-то делал это с помощью команд AT+CPAS и АТ+CEER. как-то гомоздко получилось на мой взгляд, но работало стабильно. вообще говоря руки бы оторвать тому, кто описание на эти модули делает. оно блин как справочник-памятка и если ты не сильно владеешь материалом, то помощь от него весьма условная. судя по описанию модуль возвращает строку CONNECT... при каком типе звонка? эта настройка по умолчанию или ей надо как-то активизировать? вопросы детские канешно... ну а кому щас легко? :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harbinger 10 8 января, 2008 Опубликовано 8 января, 2008 · Жалоба CONNECT - это при CSD звонке. При голосовом успешно работает периодическая отсылка запроса AT+CLCC - в ответ будет выдано состояние всех текущих вызовов. Может быть и NO CARRIER - в этом случае AT+CEER расскажет, в чем дело - абонент отбил, или не в сети, или сеть перегружена, или еще что... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nordman_ufa 0 8 января, 2008 Опубликовано 8 января, 2008 · Жалоба уважаемый Harbinger нет ли у вас ICQ? :-) а то не савсем удобно и долго задавать все интересующие вопросы в форуме. :-) уважаемый Harbinger нет ли у вас ICQ? :-) а то не савсем удобно и долго задавать все интересующие вопросы в форуме. :-) если что - мой номер 289677866 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nordman_ufa 0 8 января, 2008 Опубликовано 8 января, 2008 · Жалоба попробовал команду AT+CLCC. результаты получил следующие: при входящем звонке: +CLCC: 1,1,4,0,0,"номер входященго звонка",145,"" при исходящем звонке: +CLCC: 1,0,3,0,0,"набираемый номер",145,"" при исходящем звонке, и поднятой принимающей стороной трубке: +CLCC: 1,0,0,0,0,"набираемый номер",145,"" если просто режим ожидания: OK просвятите пожалуйста о формате ответа на запрос AT+CLCC для примера: +CLCC: 1,1,4,0,0,"номер входященго звонка",145,"" [+CLCC: <id1>,<dir>,<stat>,<mode>,<mpty>[,<number>,<type>[,“”]] [<CR><LF>+CLCC: <id2>,<dir>,<stat>,<mode>,<mpty>[, <number>,<type>[,“”]] [...]]] OK вроде как: id1 = 1 что такое этот id? dir = 1 - это направление звонка входящий/исходящий? stat = с этим вопросов нет. это статус текущего звонка. mode и mpty тоже вопросов не вызывают... насколько я понимаю в ответе присутствуют id2... и т.д. если используется что-то типа конференц связи? или я ошибаюсь? то есть при одном входящем звонке должно быть что-то вроде: <CR><LF>+CLCC: <id1>,<dir>,<stat>,<mode>,<mpty>[,<number>,<type>[,“”] <CR><LF>OK<CR><LF> особый интерес представляет точное расположение сиволов <CR><LF> в строке ответа. никто этот вопрос не изучал? :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться