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

我现在在做一个单片机控制GSM模块TC35的KeilC程序,但是我好像在GSM模块初始化的过程中存在一些问题。我就是对AT指令输入到单片机中的格式要求不太清楚,而且我想知... 我现在在做一个单片机控制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。请问是什么问题?
展开
 我来答
wobuhui168
2012-08-14 · 超过10用户采纳过TA的回答
知道答主
回答量:24
采纳率:0%
帮助的人:23.5万
展开全部
串口助手发送这个就可以 0x41,0x54,0x2B,0x43,0x53,0x51,0x0D
查看信号强度的指令 AT+CSQ
其他指令网上有很多,就是举个例子供你实践
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mj6341309
2012-08-13 · 超过15用户采纳过TA的回答
知道答主
回答量:383
采纳率:0%
帮助的人:115万
展开全部
有串口的GSM模块啊,具体协议看你用的是哪个厂家的GSM,找厂家要说明文档就好了我现在用的GSM模块就只是往串口写入数据就会自动用短信发送出去的了
追问
我用的是西门子的,原来买模块时卖家给的说明书也没有了就网上down了一个英文的说明文档,也看不出哪里有说明啊。但我感觉我的模块肯定没你的先进
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式