Здравствуйте. У меня проблема следующего характера: Я могу совершать звонки, принимать их и отправлять СМС в PDU формате. Однако приём СМС во включенном PDU режиме происходит странно. Если СМС на модем отправленно в 16-битном юникоде (то есть с использованием кирилицы) то с модема я получаю данные как положено по 4 символа на букву. Что соответствует 16-битному юникоду. И всё прекрасно декодируется в ASCII. Но если на модем приходит СМС в обычном тектовом формате (то есть латински буквы, цифры и разные знаки), то с модема я получаю следующий код этого СМС. Все служебные данные (номер отправителя, время, кол-во символов) приходят как надо. А вот сами символы в виде ASCII кода не приходят. То есть нормально приходит только первый символ, а за ним приходит мусор нужного размера. Например код входящего сообщения ("1234") запрошенного с модема АТ командой:
07919732520180F1040B91************00003180206170048204 31D98C06.
Отделённые пробелом данные и есть текст. Как видим первый символ соответствует истине (0x31 = '1'), а дальше три символа с мусором. Кто с этим сталкивался? В чём может быть косяк?
Если выключить режим PDU, то смс в любой кодировке принимается как надо. Так что вынужден сейчас сначала читать смс в режиме PDU (так как только так мы можем узнать кодировку пришедшего СМС), выключать этот режим, и снова читать пришедшее сообщение. Но это какой-то изврат и хочется разобраться в чём дело.