Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Sim900 ussd запросы и ответы
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Алексей_П
Извините, может уже обсуждалось, ткните плиз тогда носом.
При переходе с СИМ300 на СИМ900 столкнулись с таким вопросом, что ответы на USSD запросы в кирилице всегда приходят в 4-байтном формате. То есть то, что в СИМ300 приходило как два байта, например "04 41", в СИМ900 приходит как "30 34 34 31".
Не можем найти в доках возможна ли настройка на тот же режим, что был в СИМ300. Техподдержка поставщика ссылается на переписку с китайцами и тоже ничего вразумительного не может сказать.Если там и вправду нельзя настроить,то придется всю прогу шерстить, приемный буфер был расcчитан на максимум 256 байт и в этом случае модем сможет зараз выплюнуть 80*4 = 320 байт(ну где-то так).
rx3apf
Цитата(Алексей_П @ Nov 27 2010, 15:50) *
Если там и вправду нельзя настроить,то придется всю прогу шерстить, приемный буфер был расcчитан на максимум 256 байт и в этом случае модем сможет зараз выплюнуть 80*4 = 320 байт(ну где-то так).

Пакуйте на ходу (в смысле, hex-ascii в бинарный сразу). Похоже, альтернатив нет и лучше сразу все настроить на hex-режим, чтобы было универсально.
Алексей_П
Цитата(rx3apf @ Nov 27 2010, 19:54) *
Пакуйте на ходу (в смысле, hex-ascii в бинарный сразу). Похоже, альтернатив нет и лучше сразу все настроить на hex-режим, чтобы было универсально.


А как это на ходу паковать, если от "Tele2" ответ на USSD о балансе приходит в однобайтной латинице, а от "Мегафона" в четырехбайтном (Hex-aski).
И вот видим мы в самом начале строке например такое: 30 34 34 35, толи это 4 символа в латинице "0445", толи один символ в уникоде русской раскладки 00 04 04 05..(04 45)..
Похоже что пока всю строку не прочитаешь на ходу паковать не выйдет, или может я что-то упускаю из виду, и все делается гораздо проще???
rx3apf
Цитата(Алексей_П @ Nov 29 2010, 13:41) *
А как это на ходу паковать, если от "Tele2" ответ на USSD о балансе приходит в однобайтной латинице, а от "Мегафона" в четырехбайтном (Hex-aski).
И вот видим мы в самом начале строке например такое: 30 34 34 35, толи это 4 символа в латинице "0445", толи один символ в уникоде русской раскладки 00 04 04 05..(04 45)..
Похоже что пока всю строку не прочитаешь на ходу паковать не выйдет, или может я что-то упускаю из виду, и все делается гораздо проще???

Просто надо принудительно переключить в UCS2 (AT+CSCS="UCS2"), и тогда все ответы пойдут в 16-битной кодировке (запросы тоже придется посылать в UCS2, но это уже мелочи). Я эту тему уже поднимал не так давно, если поискать, найдется...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.