Сообщение от DPANYTA
|
Т.е. 0x1A отправляем не в пакете outcoming_sms[] ?
Очень интересует фраза "когда весь пакет ушёл".
Когда?
Как определить ?
|
можно и в конец outcoming_sms[] добавить этот байт, у меня просто исторически так сложилось, что он отправляется отдельно.
"Когда весь пакет ушел" - имеется в виду, что все байты последовательно отправлены в USART. У меня сделано на прерываниях, в прерывании по TXE берется очередной байт из outcoming_sms[], если он не ноль - jy записывается в DR (TDR в моем случае, на STM32), если ноль - строка кончилась, в DR пишется 0x1A и выключается прерывание TXE.
Сообщение от DPANYTA
|
Про включение кодировки вы мне уже подсказали, а мож там ещё чего, для вас само собой разумеющееся, а для меня новость.
|
всё остальное, что там у меня есть (отключение эхо, включение короткого формата ответов модема, аппаратного управления потоком, декодера DTMF, и т.д.) на СМС точно не влияет. Это точно, т.к. изначально всё пробовалось в терминале, без никаких лишних команд...
Сообщение от DPANYTA
|
Ещё. Без последнего байта 0x1A ошибки нет. Просто тишина.
|
Так и должно быть, после того, как появилось приглашение "›", модем тупо складирует все переданное в буфер, пока не получит Ctrl-Z (0x1A), и только после получения Ctrl-Z разбирает, что там ему дали.
Сообщение от DPANYTA
|
С ним ERROR 302: Operation not allowed
Но не ERROR 304: Invalid PDU mode
|
А вот это странно, по-моему... Другую симку не пробовали? "Operation not allowed" может быть связано с ней (но не обязательно)...