GSM модем, используемый для получения SMS-сообщений, зависает без видимой причины. - PullRequest
0 голосов
/ 22 марта 2012

Я написал приложение на C #, которое запрашивает GSM-модем через последовательный порт дважды в секунду. Запросы выполняются через

AT+CMGL="ALL"

, и модем отвечает списком сообщений или простым ОК, если в хранилище сообщений нет доступных сообщений.

Теперь проблема в том, что если программа работает в течение нескольких часов или около того, после успешного запроса модема более 12000 раз (без входящих сообщений в это время), когда сообщение все же приходит, GSM-модем зависает и в ответ на команду AT + CMGL = "ALL" ответ не приходит.

Я даже пытался убить программу и получить доступ к модему через PuTTYTel через его последовательный порт, у меня такое же поведение. Единственный способ заставить модем работать снова - это физически удалить его из порта USB и снова подключить его. После того, как я сделаю этот «холодный сброс», последующая команда AT + CMGL = «ALL» извлекает вновь прибывшее SMS. 1008 *

Эта проблема потратила две драгоценные недели моей жизни после того, как я сначала подумал, что это была какая-то проблема синхронизации событий. Здесь действительно некуда идти. Кто-нибудь сталкивался с таким странным поведением? Я что-то не так делаю?

С уважением, Валер

...