伙计们我有调制解调器Wavecom Fasttrack Supreme,我希望make程序能够立即收到短信,所以当我发送短信时,短信会转到我的listview1 我有这样的代码
public ReciveEmail()
{
InitializeComponent();
getAvaliblePorts();
}
private void button1_Click(object sender, EventArgs e)
{
baca_sms();
}
private void baca_sms()
{
serialPort1.Parity = Parity.None;
serialPort1.DataBits = 8;
serialPort1.StopBits = StopBits.One;
serialPort1.Handshake = Handshake.XOnXOff;
serialPort1.DtrEnable = true;
serialPort1.RtsEnable = true;
serialPort1.NewLine = Environment.NewLine;
serialPort1.Write("AT" + System.Environment.NewLine);
Thread.Sleep(1000);
serialPort1.WriteLine("AT+CMGF=1" + System.Environment.NewLine);
Thread.Sleep(1000);
serialPort1.WriteLine("AT+CMGL=\"ALL\"\r" + System.Environment.NewLine);
Thread.Sleep(3000);
MessageBox.Show(serialPort1.ReadExisting());
Regex r = new Regex(@"\+CMGL: (\d+),""(.+)"",""(.+)"",(.*),""(.+)""\r\n(.+)\r\n");// own creation you must learn
Match m = r.Match(serialPort1.ReadExisting());
while (m.Success)
{
// ShortMessage msg = new ShortMessage();
string a = m.Groups[1].Value;
string b = m.Groups[2].Value;
string c = m.Groups[3].Value;
string d = m.Groups[4].Value;
string ee = m.Groups[5].Value;
string f = m.Groups[6].Value;
// MessageBox.Show(f);
ListViewItem item = new ListViewItem(new string[] { a, b, c, d, ee, f });
listView1.Items.Add(item);
m = m.NextMatch();
}
}
public void getAvaliblePorts()
{
String[] ports = SerialPort.GetPortNames();
comboBox1.Items.AddRange(ports);
}
private void btnOpen_Click(object sender, EventArgs e)
{
try
{
if (comboBox1.Text == "" || comboBox2.Text == "")
{
MessageBox.Show("Please Check your choice !!");
}
else
{
serialPort1.PortName = comboBox1.Text;
serialPort1.BaudRate = Convert.ToInt32(comboBox2.Text);
serialPort1.Open();
progressBar1.Value = 100;
btnClose.Enabled = true;
btnRead.Enabled = true;
btnOpen.Enabled = false;
}
}
catch (UnauthorizedAccessException)
{
MessageBox.Show("UnauthorizedAccessException");
}
}
private void btnClose_Click(object sender, EventArgs e)
{
serialPort1.Close();
progressBar1.Value = 0;
btnRead.Enabled = false;
btnClose.Enabled = false;
btnOpen.Enabled = true;
}
当我点击按钮阅读serialport总是给我“OK OK OK”,为什么没有消息进入?我的AT命令有什么问题吗?或者其他的东西 ?