110,535
社区成员
发帖
与我相关
我的任务
分享
SerialPort p = new SerialPort("COM3",9600);
p.Open();
p.Write("AT+CMGF=1\r");
Thread.Sleep(1000);
p.Write("AT+CMGS=" + this.maskedTextBox1.Text + "\r");
Thread.Sleep(1000);
p.Write(this.maskedTextBox2.Text);
byte[] b2 = new byte[] { 0x00, 0x1a };
p.Write(b2, 0, b2.Length);
p.Close();
SerialPort p = new SerialPort(comPort, baudRate);
string message = "";
message += "089168";
char[] tmpSMSCphone = (SMSCphone + "F").ToCharArray();
for (int i = 0; i < tmpSMSCphone.Length; i+=2)
{
message += tmpSMSCphone[i + 1].ToString();
message += tmpSMSCphone[i].ToString();
}
message += "11000D9168";
char[] tmpReceivePhone = (receivePhone + "F").ToCharArray();
for (int i = 0; i < receivePhone.Length; i+=2)
{
message += tmpReceivePhone[i + 1].ToString();
message += tmpReceivePhone[i].ToString();
}
message += "000800";
byte[] tmpNote = Encoding.Unicode.GetBytes(note);
message += tmpNote.Length.ToString("X2");
for (int i = 0; i < tmpNote.Length; i += 2)
{
message += tmpNote[i + 1].ToString("X2");//("X2")转为16进制
message += tmpNote[i].ToString("X2");
}
int tmpLength = (message.Length - 18) / 2;
try
{
p.Open();
p.Write("AT+CMGF=0\r");
Thread.Sleep(1000);
p.Write("AT+CSMP=17,167,0,240\r");
Thread.Sleep(1000);
p.Write("AT+CMGS=" + tmpLength + "\r");
Thread.Sleep(1000);
p.Write(message);
byte[] b2 = new byte[] { 0x00, 0x1a };
p.Write(b2, 0, b2.Length);
p.Close();
return true;
byte[] b2 = new byte[] { 0x00, 0x1a };
p.Write(b2, 0, b2.Length);
p.Write(System.Text.Encoding.ASCII.GetBytes("\x1A"),0,System.Text.Encoding.ASCII.GetBytes("\x1A").Length);
byte[] s = new byte[2];
p.Read(s, 0, 2);
string str = System.Text.Encoding.ASCII.GetString(s);