【发布时间】:2019-08-08 12:31:12
【问题描述】:
我正在尝试使用 AT 命令制作 SMS 应用程序。我想知道的是如何获取GSM Modem的端口而不是硬编码?
下面是我的代码示例。
private void SendSMSTo(string cnum)
{
SerialPort _serialPort;
_serialPort = new SerialPort("COM9", 115200);
//instead of hard coding the port COM9 I want to get the port from GSM Modem
Thread.Sleep(1000);
_serialPort.Open();
Thread.Sleep(1000);
_serialPort.Write("AT+CMGF=1\r");
Thread.Sleep(1000);
_serialPort.Write("AT+CMGS=\"" + cnum + "\"\r\n");
Thread.Sleep(1000);
_serialPort.Write(computation() + "\x1A");
Thread.Sleep(1000);
_serialPort.Close();
}
【问题讨论】:
-
你说的
I want to get the port from GSM Modem是什么意思,你用来通讯的COM端口是PC端的问题,modem不知道 -
我的意思是,有没有另一种可能的方法来通过代码找到 GSM 调制解调器的 COM 端口?因为我不会硬编码。
-
你应该never use Thread.Sleep like that。而且你需要wait properly在发送短信payload之前,
标签: c# gsm at-command