WinCE系统下GSMModem的测控应用(2)

2021-01-28 20:26

WinCE系统下GSMModem的测控应用

Timeouts.ReadTotalTimeoutMultiplier=1;Timeouts.ReadTotalTimeoutConstant=10;Timeouts.WriteTotalTimeoutMultiplier=1;Timeouts.WriteTotalTimeoutConstant=10;SetCommTimeouts(hSerial,&Timeouts);

SetCommMask(hSerial,EV_RXCHAR); //挂接接收事件

   Puts(h,MEMO1,"5");//5键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x36)

   Puts(h,MEMO1,"6");//6键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x37)

最后用“WriteFile(hSerial,szBuffer,strlen(szBuffer),

&dwBytesWritten,&os_w);”向串口写入GSMModem的

   Puts(h,MEMO1,"7");//7键

(buff][2]==0x10&&buff[3]

初始化数据(AT命令)。不同的GSMModem其AT命令可能有所不同(可以从GSMModem笔者使用的GSM=fclass=8”、“at+vsm=s(,"8");//8键

if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x39)

2.2 按键识别

因为监控指令是由远程电话通过电话上的按键发出的,所以在受监控端,正确识别电话的按键是非常关键的。在一个处理线程中,可以用如下程序进行识别:

while(flag){

//flag为控制值

   Puts(h,MEMO1,"9");//9键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x30)

   Puts(h,MEMO1,"0");//0键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x23)

 WaitCommEvent(hSerial,&dwEvtMask,0);

  if((dwEvtMask&EV_RXCHAR)==EV_RXCHAR){    ClearCommError(hSerial,&dwErrorFlags,&ComStat);

   dwLength=ComStat.cbInQue;

//输入缓冲区有多少数据

   Puts(h,MEMO1,"#");//#键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x2a)

   Puts(h,MEMO1,"3");//3键   if(buff[0]==0x10&&buff[1]==0x62)   Puts(h,MEMO1,"拨入方已挂机");

   }  }

}

   if(dwLength>0){

   ReadFile(hSerial,buff,dwLength,&ln,&os_r);   buff[dwLength]=0;

   if(buff[0]==0x10&&buff[1]==0x52)   Puts(h,MEMO1,"电话拨入...");

   if(buff[1]==0x52&&buff[4]==’O’&&buff[5]==’K’)   Puts(h,MEMO1,"线路接通");

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x31)

运行后,有电话拨入并按下567890,执行结果如图2

所示。

   Puts(h,MEMO1,"1");//1键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x32)

   Puts(h,MEMO1,"2");//2键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x33)

图2 按键识别测试

   Puts(h,MEMO1,"3");//3键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x34)

对于按键组合,可以将单个键的值依次存放到缓冲区。在程序中控制好flag的值就可以实现对按键组合的识别。

   Puts(h,MEMO1,"4");//4键

   if(buff[1]==0x2f&&buff[2]==0x10&&buff[3]

==0x35)

2.3 语音传送

将语音数据写入GSMModem,拨入的电话一端就可

 paper@http://www.77cn.com.cn(投稿专用) 

2008年第6期

Microcontrollers&EmbeddedSystems 

63 


WinCE系统下GSMModem的测控应用(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:China HC Expenditure 1978-2009

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: