我想制作一个通过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/