SerialPort, не берущий вход. Это отбрасывает его назад во мне!

Когда я пытаюсь записать команду AT в свой модем GSM, это, кажется, не принимает управление. Я использовал PuTTY, чтобы проверить, что командные слова, он делает. Я проверил, чтобы видеть, открывается ли порт, он делает.

Что я мог возможно делать неправильно?

Примечание: "lol" часть для отладки целей.; 3

SerialPort sp = new SerialPort("COM3");
sp.BaudRate = 9600;
sp.DataBits = 8;
sp.StopBits = StopBits.One;
sp.Parity = Parity.None;
sp.Open();
if (sp.IsOpen == false)
{
    sp.Open();
}
Thread.Sleep(1000);
sp.WriteLine("AT+CMGF=1");
Thread.Sleep(1000);
string lol = sp.ReadExisting();
sp.Close();
return lol;
1
задан John Saunders 7 May 2010 в 19:33
поделиться

2 ответа

Отбросить обратно? ATE0 отключит отображение того, что вы отправляете.

Вероятно, вам также следует ввести ATQ0 , чтобы сообщить устройству, что вы хотите получить ответы, иначе оно не выдаст OK s. (последующий ATV1 сделает их подробными) также выдайте AT + CMEE = 1 , чтобы активировать ответы об ошибках.

Существуют также существующие библиотеки , предназначенные для работы с модемами GSM, которые избавят вас от неприятностей, если вы хотите сделать это самостоятельно, монитор порта избавит вас от необходимости вытаскивать ваши волосы, показывая вам, что именно отправлено / получено.

1
ответ дан 3 September 2019 в 00:44
поделиться

Некоторые вещи, которые нужно проверить...

Правильно ли свойство NewLine для вашего модема? По умолчанию используется перевод строки.

Как насчет значений RtsEnable и DtrEnable?

Правильно ли свойство Handshake?

1
ответ дан 3 September 2019 в 00:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: