Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Перевод строки в SMS.
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Alt.F4
Добрый день.
В SMS для перехода на другую строку пишу 0x0d + 0x0a.
Раньше все хорошо отправлялось.
Сегодня сколкнулся с проблемой: несколько раз на телефон пришли месаги с недостающими строками, хотя модем отправил все.
Вопрос: может я неправильно перехожу на другую строку?
Спасибо.
MKdemiurg
Есть такое.
Только у мну на один телефон отправляется нормально, а на другой не доходит то, что после 0x0D. Т.е. как вывод - дело в принимающей стороне.
Может настройки какие?
Igor_O
Цитата(Alt.F4 @ Mar 18 2012, 16:04) *
Добрый день.
В SMS для перехода на другую строку пишу 0x0d + 0x0a.
Раньше все хорошо отправлялось.
Сегодня сколкнулся с проблемой: несколько раз на телефон пришли месаги с недостающими строками, хотя модем отправил все.
Вопрос: может я неправильно перехожу на другую строку?
Спасибо.

Для перевода строки в SMS достаточно послать 0х0А
sobr
Цитата(Igor_O @ Mar 18 2012, 21:51) *
Для перевода строки в SMS достаточно послать 0х0А

+1
Andreymai
а после перевода строки дожидаетесь "пробел >" ?
Igor_O
Цитата(Andreymai @ Mar 20 2012, 16:21) *
а после перевода строки дожидаетесь "пробел >" ?

Вы путаете перевод строки после cmgs и в теле SMS. В теле SMS идет текст сообщения в котором если нужен перевод с новой строки посылается 0x0A затем дальше идет текст сообщения, который нужно отобразить с новой строки. Текст сообщения в зависимости от кодировки может быть отправлен в различном виде.
Andreymai
отправка SMS через HyperTerminal с WMP100 от SiWi.
для ввода строк используется 0x0d (<CR>) в соотв. с описанием АТ-команд
sobr
Цитата(Andreymai @ Mar 23 2012, 00:10) *
отправка SMS через HyperTerminal с WMP100 от SiWi.
для ввода строк используется 0x0d (<CR>) в соотв. с описанием АТ-команд

А теперь почувствуйте разницу для ввода строк, при вводе команды, и переводом строки в теле СМС.
Andreymai
сколько программистов, столько мнений sm.gif
sobr
Цитата(Andreymai @ Mar 23 2012, 11:32) *
сколько программистов, столько мнений sm.gif

Каких мнений, Андрей? Вы о чем?
Синтаксис ввода AT команд подразумевает символы новой строки и перевода каретки, а синтаксис СМС текста нет!
andrewlekar
Цитата(sobr @ Mar 23 2012, 14:44) *
Каких мнений, Андрей? Вы о чем?
Синтаксис ввода AT команд подразумевает символы новой строки и перевода каретки, а синтаксис СМС текста нет!

Нет, синтаксис ввода AT команд подразумевает ввод символа новой строки. LF в принципе допустим, но тут кое-кто сталкивался с проблемам при ATA с CRLF.
_Артём_
Цитата(andrewlekar @ Mar 23 2012, 13:29) *
Нет, синтаксис ввода AT команд подразумевает ввод символа новой строки.


+100500

Цитата(andrewlekar @ Mar 23 2012, 13:29) *
Нет, синтаксис ввода AT команд подразумевает ввод символа новой строки. LF в принципе допустим, но тут кое-кто сталкивался с проблемам при ATA с CRLF.

Только в принципе, а кожухе - лучше не надо.


Цитата(andrewlekar @ Mar 23 2012, 13:29) *
тут кое-кто сталкивался с проблемам при ATA с CRLF.


Была такой баг:
Код
AT+CIPSEND=<количество байт для отправки>
CRLF
>данные
SEND OK


Вроде всё отлично. Но модем присылал > так быстро, что LF востпринимал за первый байт данных и соответственно не передавал последний байт из тех что нужно было передать (но это проявлялось не в каждом пакете, а 1 из 5-10-...).
Andreymai
Sobr, я имел ввиду, каждый программист сам для себя выбирает, как ему удобнее переводить строки в тексте SMS:
либо это будет вводом строк 0x0D (при этом надо будет дождаться "CRLF >"),
либо это будет внутри текста сообщения вводом 0x0A.
Единственно, просле ввода CMGS="..." надо обязательно дождаться "CRLF >",
иначе введенный текст не попадет в SMS.
Alt.F4
Igor_O, sobr, спасибо, 0х0А отрабатывается нормально.
Интересно, а прописано вообще где нибудь, что символ 0x0D недопустим в тексте смс?
Igor_O
Цитата(Alt.F4 @ Mar 24 2012, 16:45) *
Igor_O, sobr, спасибо, 0х0А отрабатывается нормально.
Интересно, а прописано вообще где нибудь, что символ 0x0D недопустим в тексте смс?

За 8 лет GSM строительства встречал тел., которые даже 0x0A отрабатывали с ошибкой. Например один из Китайских клонов, продаваемый МТС под своим брендом. Один из моих клиентов их пол года бодал. пока они в очередной прошивке не исправили wink.gif
sobr
Цитата(Andreymai @ Mar 24 2012, 07:22) *
Sobr, я имел ввиду...

Вы так меня и не поняли, Вы рассуждаете об интерфейсе АТ команд, для работы с SMS. А мы говорим о самом теле сообщения.
Для понимания попробуйте написать сообщение в UCS2 кодировке. И убедитесь в том, что нажатие Enter в Hyper Terminal не приведет к переносу строки в самой SMS.
Или же отправте SMS c одного модуля на другой и посмотрите, что придет на второй модуль после того как первый модуль переведет Ваше сообщение из текстового режима в PDU и отправит.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.