Еше замечена странность если в терминалке када вставляешь PDU текст с символом
Код: Выделить всё
Код: Выделить всё
символ x1a для данного терминала является "горячей" клавишей, добавить пробел - меняете длину и код, отсюда - ошибка.Man писал(а):Использую терминал “ Terminal v1.2 by Brajer” в нем есть 3 макроса в них вбил 3 нужные АТ команды для отправки , вот када вставляю макросом PDU текст с юрал сивмовлом и просто жму ввод смс неотправляется , а если вставить макросом и между PDU текстом и символом сделать пробел смс отправляется хатя телефон отвечает ERROR.
Код: Выделить всё
putsf("AT+CMEC=2,0,0\r\n");
delay_ms(100);
putsf("AT+CMGF=0\r\n");
delay_ms(100);
putsf("AT+CSCS=\"UCS2\"\r\n");
delay_ms(100);
putsf("AT+CMGS=26\r\n");
delay_ms(100);
putsf("Здесь строка из программы со второй страницы :)) ");Извините, конечно, но это полная ерунда.urry писал(а):как бы для Вас 807(код оператора- 2 цифры )111FFFF.
USSD должен же начинаться с "*" и заканчиваться "#"? А вот 111 - это услуга смс-помощника, т.е.Секретный кот писал(а):Ну и в-третьих, для проверки баланса используется не SMS, а USSD-запрос, а это несколько другая штука. Не факт, что его можно послать через модем.urry писал(а):как бы для Вас 807(код оператора- 2 цифры )111FFFF.
Каким ещё кодом????urry писал(а):Секретный кот, при таких заявлениях -относительно полной ерунды ... Аргументируйте своим кодом.
Вы предлагаете для звонка/отправки на короткий номер набирать ещё и код страны с кодом оператора – это как раз и есть ерунда. К тому же, даже сами коды даны с ошибками (собственно всё это я уже описывал выше). Если всё равно не верится, то достаточно "скормить" номер в таком формате любому российскому мобильнику, и посмотреть что получитсяurry писал(а):как бы для Вас 807(код оператора- 2 цифры )111FFFF.
Со стороны обычно смотрят не участвующие в дискуссииurry писал(а):Со стороны смотрится очень невежливо.
Код: Выделить всё
if (data!='')
{
if (!strncmpf(cmd_buff,"OK\x1A\r\n\0",6)||!strncmpf(cmd_buff,"OK\0",3) )
{ PORTC.5=1; }
j=0;
}
else {
cmd_buff[j] = data;
j++;
if (j >= 200) {j=0;}
}