【发布时间】:2018-05-28 14:01:14
【问题描述】:
关键是我正在尝试借助 GSM 调制解调器发送 SMS 消息,但不知道如何正确配置串行端口。
下面的示例与连接到 COM 端口的三星 Galaxy S5 完美配合。
public class AtSmsSender
{
private SerialPort _serialPort;
public void SmsSend(string phoneNr, string messageText)
{
string portName = "COM3";
int portBaudRate = 9600;
_serialPort = new SerialPort(portName, portBaudRate);
Thread.Sleep(200);
_serialPort.Open();
Thread.Sleep(200);
_serialPort.Write("AT+CMGF=1\r");
Thread.Sleep(200);
_serialPort.Write("AT+CMGS=\"" + "+"+phoneNr + "\"\r\n");
Thread.Sleep(200);
_serialPort.Write(messageText + "\x1A");
Thread.Sleep(200);
_serialPort.Close();
}
}
但是当我连接 GSM 调制解调器时,此代码停止发送 SMS,但仍可以通过终端发送。在终端中标记为 DTR 和 RTS,但我不知道这些选项中的问题。
也尝试过这种类型的配置,但它不起作用
_serialPort = new SerialPort("COM3", 9600)
{
Parity = Parity.None,
DataBits = 8,
StopBits = StopBits.One,
Handshake = Handshake.None,
DtrEnable = true,
WriteBufferSize = 1024
};
【问题讨论】:
标签: c# .net serial-port gsm at-command