Конференция "WinAPI" » Как позвонить или отправить СМС через подключенный тлф?
 
  • Spot (24.02.11 03:30) [20]

    > //после считывания при успешной отправке AtIn должен вернуть
    > //+CMGS: [номер отправленного сообщения]

    По моему логу только 2-й,4-й и 5-й сообщение вернули +CMGS:XX
    Но получателю приходят 1, 3 и 5. Как понять? Как дожидаться результата операции?
  • han_malign (24.02.11 11:59) [21]

    > Как дожидаться результата операции?

    - после посылки любой команды подразумевающей ответ устройства - необходимо переходить в режим ожидания ответа(подтверждения/ ошибки(
    +...

    ), или приглашения (
    >

    )). Завершенная последовательность  команд также подразумевает ожидания готовности к приему новых команд
    OK

    ...
    То есть - читаешь из порта пока не придет ответ(+, > , OK), только после этого посылаешь новую команду... Причем, согласитесь - на ответ
    +<команда>

    и
    +CME/CMS ERROR: <err>

    - дальнейшая последовательность действий должна несколько отличаться...

    Если будет превышено время ожидания(скажем минут пять) - значит устройство "отвалилось" - переходишь в режим ожидания готовности устройства. Например можно с разумной периодичностью(не чаще двух секунд) посылать команду сброса ATZ - до тех пор пока устройство не скажет OK(я тута)... После чего заново выставляешь режимы устройства и переходишь в состояние работы...
  • Spot (25.02.11 04:18) [22]
    Спасибо han_malign за советы, пока получается, буду копаться дальше, усложнять задачу
  • имя (29.09.11 14:10) [23]
    Удалено модератором
 
Конференция "WinAPI" » Как позвонить или отправить СМС через подключенный тлф?
Есть новые Нет новых   [134430   +2][b:0][p:0.001]