怎样能得到modem的AT命令返回码?? 我想用AT命令监测振铃信号另外大家指点一下:(1)用mscomm控件是不是不能监测振铃信号(2)判断对方是否摘机是否只有对声音进行采样分析一种方法谢谢!!!!!!!!!!!!!!!!!!!!!!!1111111111 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但我读串口时只能读到busy,No Carriage信号 那就对拉。。busy是对方忙。。nocarriage是对方没有接通你在多接收几种状态。或者直接看AT指令手册。。你离成功不远了 为什么不能监测到Ring 信号,Connect 信号呢 也许是你的MODEM不支持语音,我用GPRS,或者CDMA的支持语音的无线MODEM都可以侦测到 晕,差别这么大,你看一下我的程序有什麽毛病没??CMSComm m_comm;CString m_SendData;if(m_comm.GetPortOpen()) { m_comm.SetPortOpen(FALSE); //设置串口配置信息前先要关闭串口 } m_comm.SetCommPort(3); //Com3串行口 m_comm.SetSettings("9600,n,8,1");//设置波特率为9600bps,无奇偶校验位,数据位8位,停止位1位 m_comm.SetInputMode(1); //设置数据通讯格式为二进制数组格式 m_comm.SetRThreshold(1); //设置为每次接到一个字节数据就触发OnComm事件 if(!m_comm.GetPortOpen()) { m_comm.SetPortOpen(TRUE); } m_comm.GetInput(); //清除串口输入缓冲区中残留数据 m_SendData="ATDT7411\r\n"; //调制解调器初始化 m_comm.SetOutput(COleVariant(m_SendData));void CIiiiDlg::OnOnCommMscomm1() { VARIANT m_input1; COleSafeArray m_input2; LONG length,i; BYTE data[1024]; CString str; //接收缓冲区内字符 if(m_comm.GetCommEvent()== 2) { m_comdata.Empty(); //读取缓冲区内的数据 m_input1=m_comm.GetInput(); //将VARIANT型变量转换为ColeSafeArray型变量 m_input2=m_input1; //确定数据长度 length=m_input2.GetOneDimSize(); //将数据转换为BYTE型数组 for(i=0;i< length;i++) m_input2.GetElement(&i,data+i); data[i]='\0'; //将数组转换为CString型变量 str.Format("%s",data); m_comdata=m_comdata+str+"\n"; m_edit=m_comdata;//m_edit为一CString变量 UpdateData(false); /*在上面的程序中,先将VARIANT型变量 转换为ColeSafeArray型变量,再将其转换为 BYTE型数组,然后将数组转换为CString型变量, 以满足不同的变量类型显示数据的需要。*/ }}//Connect 信号检测不到 并不是差别大。。而是你用串口控件。。把通讯暴露在程序外面了。。我是用API并接自己做了封装。你的程序我看不出在什么地方判断了接受过来的信息是“no car”,"call", "ring" 小长方形的一个像素点为什么必须填充满??? 难题。。跪求高手帮忙 关于2008里winnt.h的问题 急!内存画图问题 CListCtrl的NM_CUSTOMDRAW简直太恶心了。 在CRichEdit中如何改变字体颜色? 如何将EMF格式的图片转化为BMP格式? 大家请看看 怪问题:可不可以 *.OBJ 把文件直接连接到项目当中去? 小女工作第一周,求问:如何将一个图片翻转! 请问ClistCtl 问题 我想做一个程序,程序启动以后自动隐藏(SW_HIDE),我想在用户按了某个特定键之后程序显示出来,应该怎么做?
CMSComm m_comm;
CString m_SendData;
if(m_comm.GetPortOpen())
{
m_comm.SetPortOpen(FALSE); //设置串口配置信息前先要关闭串口
}
m_comm.SetCommPort(3); //Com3串行口
m_comm.SetSettings("9600,n,8,1");//设置波特率为9600bps,无奇偶校验位,数据位8位,停止位1位
m_comm.SetInputMode(1); //设置数据通讯格式为二进制数组格式
m_comm.SetRThreshold(1); //设置为每次接到一个字节数据就触发OnComm事件
if(!m_comm.GetPortOpen())
{
m_comm.SetPortOpen(TRUE);
} m_comm.GetInput(); //清除串口输入缓冲区中残留数据
m_SendData="ATDT7411\r\n"; //调制解调器初始化
m_comm.SetOutput(COleVariant(m_SendData));
void CIiiiDlg::OnOnCommMscomm1()
{ VARIANT m_input1;
COleSafeArray m_input2;
LONG length,i;
BYTE data[1024];
CString str;
//接收缓冲区内字符
if(m_comm.GetCommEvent()== 2)
{
m_comdata.Empty();
//读取缓冲区内的数据
m_input1=m_comm.GetInput();
//将VARIANT型变量转换为ColeSafeArray型变量
m_input2=m_input1;
//确定数据长度
length=m_input2.GetOneDimSize();
//将数据转换为BYTE型数组
for(i=0;i< length;i++)
m_input2.GetElement(&i,data+i);
data[i]='\0';
//将数组转换为CString型变量
str.Format("%s",data);
m_comdata=m_comdata+str+"\n";
m_edit=m_comdata;//m_edit为一CString变量
UpdateData(false);
/*在上面的程序中,先将VARIANT型变量
转换为ColeSafeArray型变量,再将其转换为
BYTE型数组,然后将数组转换为CString型变量,
以满足不同的变量类型显示数据的需要。*/
}
}
//Connect 信号检测不到
你的程序我看不出在什么地方判断了接受过来的信息是“no car”,"call", "ring"