C#写的winform操作短信猫打电话
public int Call(string telNum){
try
{
string result = this.SendAT("ATD" + telNum + ";");
if (result == "OK")
{
return 1;
}
else
{
return 0;
}
}
catch (Exception ex)
{
return 0;
}
}
private SerialPort sp; //私有字段 串口对象
public string SendAT(string ATCom)
{
string result = string.Empty;
//忽略接收缓冲区内容,准备发送
sp.DiscardInBuffer();
//注销事件关联,为发送做准备
sp.DataReceived -= sp_DataReceived;
//发送AT指令
try
{
sp.Write(ATCom + "\r");
}
catch (Exception ex)
{
sp.DataReceived += sp_DataReceived;
throw ex;
}
//接收数据 循环读取数据 直至收到“OK”或“ERROR”
try
{
string temp = string.Empty;
while (temp.Trim() != "OK" && temp.Trim() != "ERROR")
{
temp = sp.ReadLine();
result += temp;
}
return result;
}
catch (Exception ex)// 捕获的异常是操作已超时
{
throw ex;
}
finally
{
//事件重新绑定 正常监视串口数据
sp.DataReceived += sp_DataReceived;
}
}
在网上找的方法 为什么执行的时候会报错 AT指令 打电话 winform c# 异常 --------------------编程问答-------------------- 不要沉 不要沉不要沉 不要沉不要沉 不要沉不要沉 不要沉 --------------------编程问答-------------------- 不要沉 不要沉不要沉 不要沉不要沉 不要沉不要沉 不要沉 --------------------编程问答-------------------- 设下断点看看在哪跳出先 --------------------编程问答--------------------
catch (Exception ex)// 捕获的异常是操作已超时 --------------------编程问答--------------------
你这个是异常,看看你设置的断点在哪跳出,不是要你的异常信息 --------------------编程问答--------------------
设下断点看看在哪跳出先
catch (Exception ex)// 捕获的异常是操作已超时
你这个是异常,看看你设置的断点在哪跳出,不是要你的异常信息
while (temp.Trim() != "OK" && temp.Trim() != "ERROR")
{
temp = sp.ReadLine();
result += temp;
}拨号倒是能成功 就是过几秒就报异常了 --------------------编程问答-------------------- 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 还是沉了 --------------------编程问答-------------------- 你的短信猫支持语音通话?
返回不止OK,ERROR,还有可能CONNECT,RING,BUSY,NO ANSWER等,所以不要用while这样判断,否则就死循环了。
拨号成功你是怎么知道的,听到拨号音了?
发送AT命令出去不代表执行成功,你先发个最简单的 AT 试下看能不能回来OK。
--------------------编程问答-------------------- 短信猫的操作方法应该由供应商提供文档的吧,网上抄的好用得靠运气。 --------------------编程问答-------------------- 挂个电话给供应商或厂家,他们会免费提供开发的SDK,都花了钱就不要不好意思,直接问他要,不用客气。 --------------------编程问答--------------------
你的短信猫支持语音通话?
返回不止OK,ERROR,还有可能CONNECT,RING,BUSY,NO ANSWER等,所以不要用while这样判断,否则就死循环了。
拨号成功你是怎么知道的,听到拨号音了?
发送AT命令出去不代表执行成功,你先发个最简单的 AT 试下看能不能回来OK。
恩 我用的自己手机号 确实是响了 返回不止OK,ERROR,还有可能CONNECT,RING,BUSY,NO ANSWER等,所以不要用while这样判断,否则就死循环了。 这个可以看一下 --------------------编程问答--------------------
短信猫的操作方法应该由供应商提供文档的吧,网上抄的好用得靠运气。
问厂家要了 啥都没有 就给个AT指令集 --------------------编程问答--------------------
挂个电话给供应商或厂家,他们会免费提供开发的SDK,都花了钱就不要不好意思,直接问他要,不用客气。
问厂家要了 啥都没有 就给个AT指令集 --------------------编程问答-------------------- 这种东西问厂家要
补充:.NET技术 , C#