Чтение ответа от USB модема через COM-порт
От: _Inch_  
Дата: 17.03.11 10:09
Оценка:
Здравствуйте.

Столкнулся с такой проблемой:
есть USB-модем, я подключаюсь к нему по COM порту и отправляю через AT команды SMS.
С этим все номрально, проблема в следующем: перезагружаю компьютер, подключаю модем, и ни на одну мою АТ команду модем не отвечает. делаю переподключение модема и все работает.

Открываю порт:
    if ((hComPort = CreateFile(comPortName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL)) == INVALID_HANDLE_VALUE)
        return GetLastError();

    // Очищаем буфер COM порта
    if (!PurgeComm(hComPort, PURGE_TXCLEAR | PURGE_RXCLEAR))
        result = GetLastError();

Чтение/запись
ReadFile(hComPort, readBuffer, 1, NULL, overlapped); ......

// bufferToWrite - ATZ\r\n
WriteFile(hComPort, (LPCVOID)bufferToWrite, strlen(atCommand) + 2, NULL, overlapped) .......


Причем если в диагностике опросить модем, то там все нормально, команды пишутся — модем отвечает.
модем: Alcatel x080s и ZTE MF100

Может кто сталкивался, заранее спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.