Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Побайтный прием данных с Com порта


Автор: WantToProg 14.7.2010, 09:20
Доброе время суток. Возник вероятно не сложный вопрос, к которому не могу найти подходящего решения.
Пишу программу, которая будет звонить на мой телефон, являющийся шлюзом.

Модем на компьютере висит на Com10, но не суть.
В программе я отправляю последоватьльно AT команды, и жду ответа от модема. Если с командами ATZ, AT+CSQ проблем не возникает, то команда дозвона ATD отвечает не сразу.
Результат обработки команды получаю следующим образом:
Код

memPort.Open();//Open port
//atz query, need ok
ComPort.Write(ATZ, 0, ATZ.Length);
ComPort.Write(CR, 0, CR.Length);
Thread.Sleep(WaitTime);
byteRecieved = memPort.BytesToRead;
mBytes = new byte[byteRecieved];
ComPort.Read(mBytes, 0, byteRecieved);                
reply = Encoding.ASCII.GetString(mBytes);
Invoke(new ReceiveHandler(UpdateDisplay), new object[] { reply });

От WaitTime зависит количество принятых байтов, а мне бы хотелось переделать таким образом, что бы байты принимались последовательно до тех пор, пока они есть. В случае ATD мне необходимо WaitTime устанавливать достаточно большим (50-80 секунд).
Как бы мне этого избежать, подскажите пожалуйста. Очень надеюсь на вашу помощь.

Автор: VirusUZ 25.7.2010, 09:00
http://forum.vingrad.ru/index.php?showtopic=208800&view=findpost&p=1495582
http://forum.vingrad.ru/index.php?showtopic=254046&view=findpost&p=1832235
http://forum.vingrad.ru/index.php?showtopic=216785&view=findpost&p=1550925

Добавлено через 4 минуты и 35 секунд
http://forum.sources.ru/index.php?showtopic=257276
http://dev.emcelettronica.com/serial-port-communication-c
http://www.devasp.net/net/articles/display/727.html
http://www.gotdotnet.ru/forums/3/5268/
 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)