【发布时间】:2015-04-03 15:41:57
【问题描述】:
我正在使用 AT 命令在 C#.Net 中为 GSM 调制解调器 (D-Link DWM-156) 开发应用程序。我在发送英文短信时遇到问题。 我尝试发送“你好”,但我在手机中收到了□□□□,或者...除了你好。
serialPort1.DataBits = 8;
serialPort1.Parity = Parity.None;
serialPort1.StopBits = StopBits.One;
serialPort1.BaudRate = 9600;
serialPort1.DtrEnable = true;
serialPort1.RtsEnable = true;
serialPort1.DiscardInBuffer();
serialPort1.DiscardOutBuffer();
serialPort1.WriteLine("AT\r");
Thread.Sleep(2000);
serialPort1.WriteLine("AT+CMGF=1\r");
Thread.Sleep(1000);
serialPort1.WriteLine("AT+CMGS=\"09390149196\"\r")
Thread.Sleep(2000);
serialPort1.WriteLine("hello" + "\x1A");
Thread.Sleep(1000);
【问题讨论】:
-
执行 serialPort1.WriteLine("123456" + "\x1A"); ?
-
WriteLine输出\r或\r\n无论如何,不需要将它们包含在字符串中 -
乱码文本通常意味着编码/代码页问题。您是否可以使用相同的命令从控制台发送短信?你买4盒还是5盒? 5 表示编码问题,4 表示至少最后一个字符被误解为特殊字符。
-
如果我做 serialPort1.WriteLine("123456" + "\x1A") 。它显示在我的手机上 s□IF
-
我做了这段代码,但它也不能正常工作。 serialPort1.WriteLine("AT+CMGF=1\n");线程.睡眠(1000); serialPort1.Write("AT+CMGS=\"09390149196\"\n");Thread.Sleep(1000); serialPort1.Write("Hello" + "\x1A")
标签: c# serial-port sms