利用GSM模块SIM100开发短信收发系统_第1页
利用GSM模块SIM100开发短信收发系统_第2页
利用GSM模块SIM100开发短信收发系统_第3页
利用GSM模块SIM100开发短信收发系统_第4页
利用GSM模块SIM100开发短信收发系统_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

利用GSM模块SIM100开发短信收发系统

利用GSM模块SIM100开发短信收发系统

一.引言

在开发远程通讯控制系统时,利用现有的GSM网络是一个很不错的选择。这里利用PC串口控制GSM

SIM100模块进行收发短消息来实现远程通讯。

二.SIM100通讯协议

1.COM1或COM2

9600,N,8,1格式通讯

2.DTR和RTS须置有效。

3.打开监控软件后,须对TE(terminal

equipment)初始化。

AT

CR(0x0d),LF(0x0a)反馈:xxOKxx

ATE0

CR(0x0d),LF(0x0a)反馈:xxOKxx

ATS0=0

CR(0x0d),LF(0x0a)反馈:xxOKxx

AT+COPS?(0x0d),LF(0x0a)反馈:中查到"CHINA

MOBILE"

AT+CSCS="GSM"

CR(0x0d),LF(0x0a)反馈:xxOKxx

AT+CMGF=1

CR(0x0d),LF(0x0a)反馈:xxOKxx

AT+CCLK="05/08/23,17:34:59+02"

CR(0x0d),LF(0x0a)反馈:xxOKxx

4.发送短消息

发送:AT+CMGS=CR(0x0d),LF(0x0a)

反馈中查0X3E

(>,

再发:CNT28SET193022301935224519402255,0X1A,0X0D,0X0A反馈:xxOKxx

5.接收短消息

xxxCMTI,

"SM",

Nxxx

,并在X的位置查到N,

AT+CMGR=N

CR(0x0d),LF(0x0a)

反馈:

+CMGR,"SM",1,30,"+8613912345678","05/08/03.15:34:32+02"

MESSAGE

OK

6.删除短消息

AT+CMGD=N

CR(0x0d),LF(0x0a)

反馈:xxxxOKxx

三.PC上位机例程

1.初始化

CMainInfoView::OnInitUpdate()

{

m_MSComm.Create(NULL,0,CRect(0,0,0,0),this,78313);

m_MSComm.SetCommPort(nCom+1);

m_MSComm.SetInBufferSize(2048);

m_MSComm.SetOutBufferSize(1024);

m_MSComm.SetInputMode(1);

m_MSComm.SetSettings("9600,n,8,1";

m_MSComm.SetRThreshold(0);

m_MSComm.SetSThreshold(0);

m_MSComm.SetHandshaking(0);

m_MSComm.SetInBufferCount(0);

m_MSComm.SetRTSEnable(true);

m_MSComm.SetDTREnable(true);

pFrame->m_wndStatusBar.SetPaneText(2,strCOM+":没有打开!";

if(!m_MSComm.GetPortOpen())

{

m_MSComm.SetPortOpen(true);

m_bPortOpen=true;

pFrame->m_wndStatusBar.SetPaneText(2,strCOM+":已就绪!";

}

}

2.读缓冲区长度

short

CMainInfoView::GetBufferSize(void)

{

return

m_MSComm.GetInBufferCount();

}

3.读缓冲区内容

CString

CMainInfoView::GetBufferString(void)

{

VARIANT

variant_inp;

COleSafeArray

safearray_inp;

LONG

len,k;

BYTE

rxdata[2048];

variant_inp=m_MSComm.GetInput();

safearray_inp=variant_inp;

len=safearray_inp.GetOneDimSize();

for(k=0;k<len;k++)

{

safearray_inp.GetElement(&k,rxdata+k);

}

CString

strTmp,strRecv;

MessageBox("Error:ReadShortMessage:nLocation

error!";

return

false;

}

char

chCMGD[20]={'A','T','+','C','M','G','D','=','0',0x0d,0x0a,0x00};

CString

strReceive;

chCMGD[8]='0'+nLocation;

CStringstrSend=CString(chCMGD);

m_MSComm.SetOutput(COleVariant(strSend));

Sleep(100);

for(int

i=0;i<20;i++)

{

Sleep(100);

if(GetBufferSize()>=2)

{

Sleep(100);

strReceive=GetBufferString();

if(-1!=strReceive

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论