我想制作一个通过USB电缆连接到我的手机的c#程序,以便仅拨打电话。我发现了如何通过SerialPort连接以及如何通过AT Commands进行调用,但是当我运行程序并单击以进行调用时,什么也没有发生。这是我的代码,请帮助我:

SerialPort SP = new SerialPort("COM3");
SP.BaudRate = 9600;
SP.Parity = Parity.None;
SP.DataBits = 8;
SP.StopBits = StopBits.One;
SP.RtsEnable = true;
SP.DtrEnable = true;
SP.Encoding = System.Text.Encoding.Unicode;
SP.ReceivedBytesThreshold = 1;
SP.NewLine = Environment.NewLine;
SP.Open();
SP.Write("ATDT 0999182542"+ Environment.NewLine);

SP.Close();

最佳答案

首先,要查看调制解调器是否已连接,请向端口发送AT命令。如果收到OK作为响应,则表明调制解调器已连接。

拨打电话的语法为:

ATDYourphnumber; //不要忘记“;”

示例:ATD9012345645;

因此,您应该以相同的方式写入端口。

句法:

SP.WriteLine("ATD"+phonenumber+";");

您可以使用WriteLine,因为它也可以服务\r\n

更新:如何查看来自调制解调器的响应:

在SP.Open()之后;

string cmd = "AT";
SP.WriteLine(cmd + "\r");
SP.Write(cmd + "\r");
Thread.Sleep(500);
string ss= SP.ReadExisting();
if(ss.EndsWith("\r\nOK\r\n"))
  {
   MessageBox.Show("Modem is connected");
  }

关于c# - 通过AT命令使用C#.net进行拨号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12320944/

10-16 02:34