Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Посылка в UART SIM900R более 554 символов
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
sashaoff3
Через терминальную программу SSCOM3.2 посылаю в SIM900R 560 символов - в ответ символы выводятся, их количество совпадает с посланным, а в конце ERROR. Если меньше, то в ответ ОК. Аналогичная ситуация и при обмене с МК. Из-за него и пишу. Почитал инфу, но ничего не нашёл. Может быть есть настройка по увеличению кол-ва символов или тайм-аута? Прошу помочь добрым советом.
smalcom
ась?
CADiLO
>>>посылаю в SIM900R 560 символов - в ответ символы выводятся, их количество совпадает с посланным, а в конце ERROR.

В каком режиме, куда они потом должны уйти, это данные или поток команд.....???
В какой версии фирмваре???

Давайте изначально правильно ставить вопросы, а то телепаты еще с нового года не протрезвели sm.gif


BorisN
В дополнение к вышесказанному,

Так же полезно уточнить, в каком конечном устройстве установлен модуль, либо это штатная отладочная плата, либо разрабатываемое устройство...
Далее, что отвечает модуль на АТ команды? для начала есть ли "правильный" ответ на АТ, ну и на какие либо прочие...
sashaoff3
Версия B05, последняя, как я понимаю. Модуль работает. Подключен к компу через вышеуказанную терминальную программу. На всё отвечает. По непонятной мне причине, если послать файл объёмом >= 560 байт, то вышеописанная ситуация.

File size:560
BaudRt:19200bps
Time require: 0 s
Wait...
Send OK! Ў1111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111
1
11111111111111111111111111111111111111111111111111111111111111111111111111111111
1
11111111111111111111111111111111111111111111111111111111111111111111111111111111
1
11111111111111111111111111111111111111111111111111111111111111111111111111111111
1
11111111111111111111111111111111111111111111111111111111111111111111111111111111
1
1111111111111111111111111111111111111111111111111111111111111111111111111111
ERROR

А если послать меньше, то будет ОК. Для дальнейшей обработки ERROR может и не помешает, но ведь почему-то модуль ругается.
Может быть не модуль ругается, а терминальная программа? Попробовал в hypertrm, данные не выходят. Ппробую ещё какую-нибудь.
BorisN
Для ускорения процесса, предлагаю, запустите у себя на компе terminal.exe,
подайте команду, получите ответ, запросите например скорость порта, уровень сигнала, вообщем "поговорите" с модулем,
результаты сюда пожалуйста,
далее обсудим вопрос с файлом
Просто так, без подготовительных процедур, посылать модулю файл, просто не имеет смысла...
sashaoff3
Цитата(BorisN @ Feb 8 2016, 10:11) *
Для ускорения процесса, предлагаю, запустите у себя на компе terminal.exe,
подайте команду, получите ответ, запросите например скорость порта, уровень сигнала, вообщем "поговорите" с модулем,
результаты сюда пожалуйста,
далее обсудим вопрос с файлом
Просто так, без подготовительных процедур, посылать модулю файл, просто не имеет смысла...

Попробовал в Terminal - то же самое. Я ведь ответил - модуль на всё отвечает. Если нетрудно, пошлите несколько файлов разной длины. Terminal на короткие не ругается, а на длинные ERROR...
rx3apf
Насколько я понимаю, человек ждет эхоконтроль, причем в командном режиме, причем без "AT". Странно, что модуль еще так много проглотил...
BorisN
Пожалуйста, выложите здесь все что модуль отвечает..

Обратите внимание (см выше) отсылать модулю файл без предварительных осмысленных действие просто бессмысленно..
Поясняю на примере, если Вы хотите отправить файл удаленному модему, то это одна история, если Вы хотите записать файл в память модуля это совсем другая история... и т.д.
smalcom
Цитата(sashaoff3 @ Feb 8 2016, 11:51) *
Версия B05, последняя, как я понимаю. Модуль работает. Подключен к компу через вышеуказанную терминальную программу. На всё отвечает. По непонятной мне причине, если послать файл объёмом >= 560 байт, то вышеописанная ситуация.
...
А если послать меньше, то будет ОК. Для дальнейшей обработки ERROR может и не помешает, но ведь почему-то модуль ругается.
Может быть не модуль ругается, а терминальная программа? Попробовал в hypertrm, данные не выходят. Ппробую ещё какую-нибудь.


- Доктор, когда я делаю вот так, то у меня вот тут хрустит.
- Ну так не делайте так.
Baser
Цитата(CADiLO @ Feb 8 2016, 11:18) *
Давайте изначально правильно ставить вопросы, а то телепаты еще с нового года не протрезвели sm.gif

Брррр!! Ну, вроде я пришел в себя... sm.gif
Телепатирую:

Цитата(sashaoff3 @ Feb 8 2016, 07:36) *
Через терминальную программу SSCOM3.2 посылаю в SIM900R 560 символов - в ответ символы выводятся, их количество совпадает с посланным, а в конце ERROR. Если меньше, то в ответ ОК. Аналогичная ситуация и при обмене с МК.

Цитата(sashaoff3 @ Feb 8 2016, 11:51) *
1111111111111111111111111111111111111111111111111111111111111111111111111111
ERROR

А если послать меньше, то будет ОК. Для дальнейшей обработки ERROR может и не помешает, но ведь почему-то модуль ругается.
Может быть не модуль ругается...

Модуль ругается, он самый.
Объясняю:
товарищ пытается послать модулю в командном режиме с включенным эхом соответственно команду (пример команды см. выше).
В ответ видит эхо. Длина буфера модема 556 байт.
Цитата
The Command line buffer can accept a maximum of 556 characters. If the characters entered
exceeded this number then none of the Command will executed and TA will return "ERROR".

Одно не сходится: утверждается, что если послать меньше байт, ответ ОК.
На мой взгляд тоже должен быть ERROR
rx3apf
Логика подсказывает что да, или "ERROR" или вообще ничего. Если команды не было, то с чего вдруг "OK" ?
sashaoff3
Спасибо Baser! Это и есть. Проявилось это у меня когда принимал смс в UCS2. Максимальный размер сообщения 608 байт. Я складываю принимаемые символы в массив и затем содержимое этого массива посылаю на экран компа через терминальную программу для проверки. Я планирую принимать кириллицу. Как правильно делать: разделять на части? Может есть какое то хорошее решение?

Цитата(rx3apf @ Feb 8 2016, 14:50) *
Логика подсказывает что да, или "ERROR" или вообще ничего. Если команды не было, то с чего вдруг "OK" ?

Команда была послать файл (последовательность символов). Через терминальную программу кнопкой Send, а я посылал из МК командой for (i = 0; i <size_sms_t; i++) {putch(str_sms_1t[i]); if (str_sms_1t[i] == '\r') break;}}.
rx3apf
Попробую намекнуть - ЗАЧЕМ (и, главное, КУДА) Вы пытаетесь "послать файл" в КОМАНДНОМ режиме ?
sashaoff3
Цитата(rx3apf @ Feb 8 2016, 15:26) *
Попробую намекнуть - ЗАЧЕМ (и, главное, КУДА) Вы пытаетесь "послать файл" в КОМАНДНОМ режиме ?

Вы бы сказали прямо. Не все понимают намёки. Посылаю я только для визуальной проверки на экране компа наполнения массива при проработке приёма смс. Это просто приём(метод) для проверки. Может и некорректно - поправьте. Кстати, эта переписка, дала мне понять, что из смс в массив данные идут полным ходом, но точно проверить через экран компа достоверное кол-во и зн-е я не смогу без разделения на блоки < 556. По итогам обсуждения я сделал следующее: в смс с сайта ТЕЛЕ2 в начале текста оператор вставляет IP адрес отправителя. Занимает он около 90 символов. Я посылаю для проверки на экран символы приёмного массива, начиная с 92 символа. Тогда у меня всё оставшееся входит в буфер модуля и неприятный ERROR не вылезает. Спасибо всем.
smalcom
Цитата
Вы бы сказали прямо.

про бревно и соринку пословицу видать не знаете
Baser
Становится все интереснее.
1. А почему вы считаете, что "проработка приёма смс" должна отличатся на уровне приема байтов от модема от приема любых других ответов или данных от модема?
2. Приемный буфер модема длиной 556 байт не имеет никакого отношения к выдаче модемом данных/ответов наружу. Они не идут через приемный буфер.
3. Судя по всему вы пытаетесь работать с длинными смс в текстовом режиме. Поддерживает ли SIM900 автоматом прием и склеивание длинных смс я не скажу, не знаю, но послать длинное смс в текстовом режиме точно нельзя, нет нужных полей в команде, только в режиме PDU и все вручную. А макс. длина обычной смс: 160 символов в ASCII или 70 символов в юникоде. Как ни крутись, 556 байт всегда хватает (хотя они тут совсем ни причем) sm.gif

з.ы. smalcom, вы бы сказали бы чего по делу, а то только ходите вокруг да ухмыляетесь, мне одному отдуваться? lol.gif
А то CADiLO сейчас занят (всего, всего, всего, Эдуард!!!! tort.gif ) подмочь не может.
sashaoff3
Уважаемый Baser п.1 и 2 поддерживаю. По п.3. Если смс принимаем в UCS2, то на каждый символ ASCII приходится по 4 символа в принимаемой смс. К примеру '5' будет '0''0''3''5' или в hex 30303335. Поэтому 160 x 4 = 640. Я вручную посчитал, получилось 608, а это > 556. Поддерживаю поздравления CaDilo.
Baser
Цитата(sashaoff3 @ Feb 8 2016, 19:18) *
К примеру '5' будет '0''0''3''5' или в hex 30303335. Поэтому 160 x 4 = 640. Я вручную посчитал, получилось 608, а это > 556.

Немного не так, "160 символов в ASCII или 70 символов в юникоде"
т.е. поле данных смс 320 байт ASCII или 280 байт юникода.
Плюс все служебные поля, все равно меньше 556. Но главное не это, а то, что через этот буфер будет проходить только исходящая от вас смс, которая внутри команды AT+CMGS.
Кстати, вполне возможно, что сам текст смс, который вводится в текстовом режиме после приглашения ">", уже не идет через приемный командный буфер. Я по GPRS нормально гоняю блоки по 1 кбайту без проблем.

з.ы. советую при первом включении модема тут же выключать эхо. Это наследие еще со времен ручных телетайпов, чтобы индицировать на экране то, что печатает оператор. В сегодняшних реалиях это мешающий рудимент.
sashaoff3
Лично мне эхо очень помогает. Что-то глючит, даю в блоке команду на выдачу типа putch('R'); Не всегда, но часто помогает понять зашла ли программа в этот блок или что-то напутал. Да и в примере этой темы, как проверить приходящую смс, что мне отдельный терминал городить? Про меньше 556 я уже писал, что прямо на экране посчитал - получилось 608. Если послать с ТЕЛЕ2 140 единиц + ip адрес. Оператор делит эту смс на две. Одна - 608, вторая - 84. Это только тело, без заголовка.
ArtemKAD
Цитата(sashaoff3 @ Feb 8 2016, 19:56) *
Лично мне эхо очень помогает. Что-то глючит, даю в блоке команду на выдачу типа putch('R'); Не всегда, но часто помогает понять зашла ли программа в этот блок или что-то напутал. Да и в примере этой темы, как проверить приходящую смс, что мне отдельный терминал городить? Про меньше 556 я уже писал, что прямо на экране посчитал - получилось 608. Если послать с ТЕЛЕ2 140 единиц + ip адрес. Оператор делит эту смс на две. Одна - 608, вторая - 84. Это только тело, без заголовка.

И че его городить? Делаешь себе отладочный порт или используешь встроенную отладку камня и заканчиваешь ходить по густо разложенным граблям набивая себе шишки...
Baser
Цитата
как проверить приходящую смс, что мне отдельный терминал городить?

По мне так принял строку от модема в МК под отладчиком, остановился после приема на брейкпоинте - и смотри в буфере данные хоть до одури. Или вы прямо на лету разбираете, во время приема?

А ваш процесс отладки я так и не понял, хотя и телепат sm.gif
Сдается мне, что вы из-за эха на экране видите в два раза больше "единиц", чем есть на самом деле.
При отладке одинаковые данные никогда не шлют, это может привести к накладкам.
Пошлите смс с различными данными, например повторяющиеся группы цифр "01234567890123456789" и т.д. 160 штук
и посмотрите, что увидите со своим методом отладки.
smalcom
Цитата
з.ы. smalcom, вы бы сказали бы чего по делу, а то только ходите вокруг да ухмыляетесь, мне одному отдуваться?

я хотел чтобы человек нормально вопрос задал, а вы месячный запас манны израсходовали. я вот сейчас только вас читаю и чувствую - что-то с смсками связано, т.к. кто-то книжку на модем
не прочитал. А дальше мозг отказывается вчитываться - неверно поставлен вопрос

Цитата
Через терминальную программу SSCOM3.2 посылаю в SIM900R 560 символов - в ответ символы выводятся, их количество совпадает с посланным, а в конце ERROR. Если меньше, то в ответ ОК. Аналогичная ситуация и при обмене с МК. Из-за него и пишу. Почитал инфу, но ничего не нашёл. Может быть есть настройка по увеличению кол-ва символов или тайм-аута? Прошу помочь добрым советом.

это и не вопрос. а... инстаграм какой-то: вот я ем, вот я, извините, пукаю, вот жена, вот кровать. вопрос, подлец, задай. ведь заинтриговал же и держит в напряжении.
"SSCOM3.2" - в данном случае вообще мусорная информация. Это как конекчусь в rsterm'е. Там ведь HTTP-набор, т.е. специфика телита. И всё, часть потенциальных знатоков отсеялась ибо тут уже
что-то с программой может быть. А потом окажется что ТС-то руками вводил и что-то видел, а написать ему было лень. Также и тут: бу-бу-бу...

Зря вы манну потратили ))

-----------------------
Иногда надо как на торрент-трекерах: "Статус: недооформлено". И доступ только у ТСа пока не оформит тему нормально )
sashaoff3
Цитата(ArtemKAD @ Feb 8 2016, 19:53) *
И че его городить? Делаешь себе отладочный порт или используешь встроенную отладку камня и заканчиваешь ходить по густо разложенным граблям набивая себе шишки...

Постараюсь взять на вооружение. Спасибо ArtemKAD.

Цитата(Baser @ Feb 8 2016, 19:53) *
По мне так принял строку от модема в МК под отладчиком, остановился после приема на брейкпоинте - и смотри в буфере данные хоть до одури. Или вы прямо на лету разбираете, во время приема?

А ваш процесс отладки я так и не понял, хотя и телепат sm.gif
Сдается мне, что вы из-за эха на экране видите в два раза больше "единиц", чем есть на самом деле.
При отладке одинаковые данные никогда не шлют, это может привести к накладкам.
Пошлите смс с различными данными, например повторяющиеся группы цифр "01234567890123456789" и т.д. 160 штук
и посмотрите, что увидите со своим методом отладки.

Постараюсь взять на вооружение. Послал смс как Вы предложили - то же самое. Да и как по другому, посылаю 140 штук (с сайта ТЕЛЕ2 - это максимальное кол-во) и на экране 140 штук + ip в коде UCS2 (по четыре символа на 1 посланный). Сначала на экран по команде "прочитать" выводится вся смс, а затем уже из МК посылаю на экран то, что принял в массив. Спасибо Baser, что вникли в проблему и дважды помогли, а не посчитали себя "небожителем со знанием поговорок", как некоторые.
smalcom
Цитата
а не посчитали себя "небожителем со знанием поговорок", как некоторые.

вам матом ответить? тоже мне чувственный нашёлся. обидели кисю на..ли в ящик.
Hub
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.