使用单片机控制GSM模块如何发送短信?

我现在在做一个单片机控制GSM模块TC35的Keil C程序,但是我好像在GSM模块初始化的过程中存在一些问题。我就是对AT指令输入到单片机中的格式要求不太清楚,而且我想知道如何检验GSM模块初始化是否成功?还有,我想用串口调试助手让模块发送短信,发送的指令该如何编写呢?(不是那种可以直接点“发送短信”按钮的那种调试工具)。谢谢啦!
void GSM_INIT(void)
{LOOP:
Delay_ms(1000);
sendstring("AT");
Delay_ms(1000);
sendstring("ATE");
Delay_ms(1000);
sendstring("AT+CNMI=2,1");
Delay_ms(1000);
sendstring("AT+CSCA=\"+8613800571500\"");//服务中心号码
Delay_ms(1000);
for(Rx=0;Rx<RxIn;Rx++)
{ SystemBuf[Rx]=0x00;
}
Rx=0;
sendstring("AT+CMGF=1");
Delay_ms(1000);
if((SystemBuf[2]=='O')&&(SystemBuf[3]=='K')) //判断是否模块初始化成功,成功的话模块会回复"OK"给单片机
{ //如果单片机没有收到OK,就继续发送初始化指令/
for(Rx=0;Rx<RxIn;Rx++)
{
SystemBuf[Rx]=0x00;
}
Rx=0;
}
else
{
for(Rx=0;Rx<RxIn;Rx++)
{
SystemBuf[Rx]=0x00;
}
Rx=0;
goto LOOP;
}
}
我设定了几个标志位,最后确定程序一直在循环,始终无法检测到OK。请问是什么问题?

第1个回答  2012-08-14
串口助手发送这个就可以 0x41,0x54,0x2B,0x43,0x53,0x51,0x0D
查看信号强度的指令 AT+CSQ
其他指令网上有很多,就是举个例子供你实践本回答被提问者和网友采纳
第2个回答  2012-08-13
有串口的GSM模块啊,具体协议看你用的是哪个厂家的GSM,找厂家要说明文档就好了我现在用的GSM模块就只是往串口写入数据就会自动用短信发送出去的了追问

我用的是西门子的,原来买模块时卖家给的说明书也没有了就网上down了一个英文的说明文档,也看不出哪里有说明啊。但我感觉我的模块肯定没你的先进

相似回答