|
SIM900 очередной глюк, задержка перед посылкой команды???????? |
|
|
|
Jan 24 2011, 20:57
|
Знающий
   
Группа: Свой
Сообщений: 615
Регистрация: 14-02-08
Из: г. Рыбинск, Ярославская область
Пользователь №: 35 028

|
Здравствуйте уважаемые форумчане. Имеем: SIM900 R11.0 SimCom LTD SimCom_SIM900 REVISION 1137B04SIM900M64_ST Подаю команду , например AT+CSQ, сразу же, как только получаю на нее ответ с ОК в конце, подаю другую команду , например AT+CBC, в таком случае на CBC вообще никакого ответа нет, но стоит после ответа на CSQ подождать 100милисекунд и ответ на CBC приходит. Сим900 впаял в устройство при переходе с СИМ300ДЗ, на котором все работало без всяких доп задержек. (Да и какого черта давать ОК на предыдущую команду, если не готов принять следующую) Может кто встречался с подобным, посоветуйте, куда копать, менять прошивку на семерку?
|
|
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 14)
|
Jan 25 2011, 08:08
|
Знающий
   
Группа: Свой
Сообщений: 615
Регистрация: 14-02-08
Из: г. Рыбинск, Ярославская область
Пользователь №: 35 028

|
Цитата(CADiLO @ Jan 25 2011, 10:21)  Кстати да - первое что надо сделать, это обновиться. Затем отключить автоопределение скорости. Здравствуйте уважаемый CADiLO. Разъясните, пожалуйста один момент с автоопределением скорости. Автоопределение включено. Скорость 19200. После вкл сима даю АТ, получаю ОК, далее все остальный команды начиная с АТ, в процессе работы скорость не меняю. Вопрос - автоопределение в таком процессе работы срабатывает перед каждой командой, либо один раз вначале и до тех пор пока , если не изменится скорость не срабатывает. Данный алгоритм без проблем работал на 300, 300с,300дз начиная еще даже с 10ой версии прошивки, неужели в 900 это стало хуже. И еще просьба, если не затруднит, поделиться семеркой для сим900 и прошивальщиком, я доступа в свои пока не имею, а в евромобайле как-то все очень медленно получается да и шлют , частенько не то, что просишь. S2-1040S-Z090C SN MP0610250007649 IMEI 012207000371176 alex_sokolov<собака>pisem.net Спасибо
|
|
|
|
|
Jan 25 2011, 08:57
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919

|
Цитата(ssokol @ Jan 25 2011, 12:08)  Вопрос - автоопределение в таком процессе работы срабатывает перед каждой командой, либо один раз вначале и до тех пор пока , если не изменится скорость не срабатывает. На SIM900 оно срабатывает один раз после включения и больше не срабатывает никогда. Раньше были китайские ватты, а теперь - вот такой вот китайский автобод.
|
|
|
|
|
Jan 25 2011, 10:17
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919

|
Цитата Отсюда следует что пересинхронизация идет по КАЖДОЙ АТ команде.  Вы же разработчик со стажем, зачем вы верите (а) современной (б) китайской документации? Попробуйте сами. 1. "По каждой команде" с грехом пополам работало в SIM300. В SIM900 это уже сломали, а документацию поправить забыли. Срабатывает один раз - причем почти идеально - быстро, на любую скорость, включая 115200 (о чем в доке тоже забыли написать). А вот после этого при смене скорости - только кракозябрики. 2. По "at" не автободится. Никак и никогда. Только по "AT". Да, SIM900B 5-я прошивка. Вдруг они отличаются. Цитата Самое интересное что мыши мучаются, колются, но кактус грызут. Мне лично все равно, мои приборы закладываются на автобод только при первом включении устройства со свежеустановленным модулем, после чего автоматом делают AT+IPR=NNN &W и сводят задачу к решенной.
|
|
|
|
|
Jan 25 2011, 10:35
|
Ортодокс
  
Группа: Свой
Сообщений: 219
Регистрация: 26-10-07
Из: Смела, Украина
Пользователь №: 31 775

|
Цитата(CADiLO @ Jan 25 2011, 11:18)  Что для 300-й серии, что для 900-й уже не раз говорилось - не используйте автоопределение. Ну, вообще не использовать его же нельзя - автоопределение инициализируется в соответствии с фабричными установками. Лично я использую его по такой схеме 1. Посылаем команду AT 2. Ждем OK в течение 1 сек. 3. Если не дождались то к п.1 4. Явно прописываем в модем текущую скорость. Работает со 100%-ным результатом. А если отказ модеиа - то крутимся в бесконечном цикле.
|
|
|
|
|
Jan 25 2011, 10:40
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(stream @ Jan 25 2011, 13:17)   Вы же разработчик со стажем, зачем вы верите (а) современной (б) китайской документации? Попробуйте сами. 1. "По каждой команде" с грехом пополам работало в SIM300. В SIM900 это уже сломали, а документацию поправить забыли. Срабатывает один раз - причем почти идеально - быстро, на любую скорость, включая 115200 (о чем в доке тоже забыли написать). А вот после этого при смене скорости - только кракозябрики. Угу. Но, тем не менее, если не отключить, то при отсутствии задержек между командами иногда просто не берет очередную команду, даже эхо ломается (проходит частично, совсем не проходит). Так что отключать надо, оно само не отключается полноценно.
|
|
|
|
|
Jan 25 2011, 10:45
|
Знающий
   
Группа: Свой
Сообщений: 615
Регистрация: 14-02-08
Из: г. Рыбинск, Ярославская область
Пользователь №: 35 028

|
Цитата(CADiLO @ Jan 25 2011, 12:18)  Самое интересное что мыши мучаются, колются, но кактус грызут. Что для 300-й серии, что для 900-й уже не раз говорилось - не используйте автоопределение. Нет, надо создать себе проблему, а потом на нее же и жаловаться.
Only the strings “AT” or “At” (not “aT” or “at”) can be detected when auto-bauding is enabled. It is recommended that ALL AT commands shall be prefixed with “AT”.
Отсюда следует что пересинхронизация идет по КАЖДОЙ АТ команде. Мы не мыши , не артисты а разработчики-мазохисты. (Благодаря Китаю) Как Вы посмотрите на такое: Вкл сим900 (аутободинг enable), даю АТ, после получения ОК даю AT+IPR=19200 ,ОК, и дальше все остальное, что вот собственно в следующем посте, пока я писал, участник stream подтвердил. Но уж, позвольте Вас мучать так до конца - сколько раз &W можно сказать памяти сим900?
|
|
|
|
|
Jan 25 2011, 10:49
|

Гуру
     
Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988

|
Хм... перепроверил... Таки да. Чтобы сменить в процессе работы скорость надо с DTR извращаться. SIM900 v7 Вот так и умирает вера в светлое будущее  А 115200 детектится - но только при рассогласовании скорости не более 0.5% У клиента на атмеле проект, там на 115200 ошибка в скорости была примерно 1.5% - не определялось. Он автодетектился на 9600 и потом переходил на фиксированую 115200. Так - нашел фичу - если дать команду AT+IPR=0 и сразу сменить скорость, то меняется без извратов с DTR. Следующая АТ уже определяется на новой скорости.
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Jan 25 2011, 11:20
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919

|
Цитата(ssokol @ Jan 25 2011, 14:45)  Как Вы посмотрите на такое: Вкл сим900 (аутободинг enable), даю АТ, после получения ОК даю AT+IPR=19200 ,ОК, и дальше все остальное, что вот собственно в следующем посте, пока я писал, участник stream подтвердил. Но уж, позвольте Вас мучать так до конца - сколько раз &W можно сказать памяти сим900? Можно и не мучить флеш, а сначала спросить "AT+IPR?" и проанализировать ответ. Если в ответе ноль - тогда и выдавать +IPR=19200 и AT&W. Иначе в модуле и так уже все нормально настроено на 19200 с прошлого раза. Можно еще поизвращаться, анализируя, пришло ли после включения RDY, +CPIN: и т.д., что приходит только при фиксированной скорости, но это на любителя. Цитата(CADiLO @ Jan 25 2011, 14:49)  А 115200 детектится - но только при рассогласовании скорости не более 0.5% У клиента на атмеле проект, там на 115200 ошибка в скорости была примерно 1.5% - не определялось. Понятно... Современный ARM с дробными делителями на UART сильно облегчает жизнь. У меня при тактовой 60MHz ошибка на 115200 составляет 68,4 бода, т.е. 0,06% Цитата Так - нашел фичу - если дать команду AT+IPR=0 и сразу сменить скорость, то меняется без извратов с DTR. Следующая АТ уже определяется на новой скорости. Предполагаю, что и AT&F тоже поможет - т.е. все, что почистит состояние каких-то переменных в модуле.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|