如何在 C# VISUAL STUDIO 2022 中使用 AT 命令接收消息?
我有一个使用调制解调器的项目。我的调制解调器是 iTegno W3800 U。我的问题是使用 C# 中的 AT 命令接收短信,显示消息列表,如收件箱。我已经可以使用 AT 命令发送短信,但是每当我尝试使用此 AT 命令获取消息列表时AT+CMGL="ALL"" 每当我调试它时都没有任何价值。这是我发送消息的参考代码并接收消息。
private void buttonsend_Click(object sender, EventArgs e) { 尝试 { SerialPort serialport = new SerialPort("COM3", 115200);
String messageToSend = null;
serialport.Open();
serialport.WriteLine(@"AT" + (char)(13));
Thread.Sleep(1000);
serialport.WriteLine("AT+CMGF=1\r");
Thread.Sleep(1000);
serialport.WriteLine("AT+CMGS=\"" + phonenumber.Text + "\"\r\n");
Thread.Sleep(1000);
serialport.WriteLine(txtmsg.Text + "\x1A");
Thread.Sleep(1000);
var response = serialport.ReadExisting();
if (response.Contains("ERROR"))
{
MessageBox.Show("Send failed!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else if (txtmsg.Text.Length <= 160) //for limit of sending sms
{
messageToSend = txtmsg.Text;
MessageBox.Show("Message has been sent!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
messageToSend = txtmsg.Text.Substring(0, 160);
MessageBox.Show("Send failed! Exceeded in 160 Characters", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
serialport.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void buttonreceive_Click(object sender, EventArgs e)
{
try
{
serialport.Open();
serialport.WriteLine(@"AT" + (char)(13));
Thread.Sleep(1000);
serialport.WriteLine("AT+CMGR=1\"" + +639176320785 + "\"\r\n");
Thread.Sleep(1000);
serialport.WriteLine("AT+CMGL=\"ALL\"" + buttonreceive.Text + "\"\r\n");
Thread.Sleep(1000);
serialport.WriteLine(textBox1.Text + "\x1A"); //this is the textbox for the list of sms messages
Thread.Sleep(1000);
//serialport.WriteLine("AT+CMGR=1");
//Thread.Sleep(1000);
serialport.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}