这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 51单片机控制GSM模块发送短信问题

共5条 1/1 1 跳转至

51单片机控制GSM模块发送短信问题

菜鸟
2014-05-16 18:06:35     打赏

#include <reg52.h>
#define uchar unsigned char
#define uint  unsigned int

uchar code SMS_send[]="AT+CMGC=" ; //发送短消息命令
uchar code SMS_text[]="AT+CMGF=1\r";//发送数据为text格式
uchar code PhoneCall[]="13488240139\r";

uchar code sms[]="nihao";
void Usart_Init(void);
void GSM_Text();
void GSM_Text_Send();
void Print_str(uchar *str);
void  Delay(void);
void print_chr(uchar ch);

main()
{
 Usart_Init();  

 while(1)
 {
   GSM_Text();
   GSM_Text_Send();
 }
}
void Usart_Init(void)
{
 TMOD=0X20;//T1方式2
 TH0=0XFD;
 TL0=0XFD;

 SCON=0X50;
 PCON=0X00;
 TR1 = 1;    // 启动定时器1 
 ES   = 1;        //开串口中断                 
 EA   = 1;        // 开总中断
  

}
void GSM_Text()//设置短消息格式
{
 Print_str(SMS_text);
    Delay();
}
void GSM_Text_Send()//发送消息
{
 Print_str(SMS_send);
 Print_str(PhoneCall);
 Print_str(sms);
 print_chr(0x1a);
 Delay();


}
void Print_str(uchar *str)//发送一个字符串
{
 while(*str!='\0')
 {
  print_chr(*str++);
 }
}
void print_chr(uchar ch)//发送一个字符
{
 SBUF=ch;
 while(!TI);
 TI=0;
}
void  Delay(void)
{      
        uint   i,j;

        for   (i=0;   i <10;   i++)
        {
            for(j=0;   j <100;   j++);
        }
}

 这个是代码,就是不能发送,求大神指点一下啊!!!!




关键词: 51单片机     GSM模块               发送     短信     问题    

专家
2014-05-18 16:44:09     打赏
2楼

楼主使用的是什么模块?  短信内容是需要转码的!波特率设置的是多少?


建议:先用电脑串口根据步骤一步步的将短信进行发送,发送成功了,再进行代码的调试(1、可以确认模块是否好坏;2、对短信的发送流程有个直观的了解)。


咱们有代码编辑器,可以把代码通过它贴在帖子里,看起来清晰点。



工程师
2014-05-18 23:05:18     打赏
3楼
我这几天调试的是sim300s模块。自带 程序测试都通过,下来就是自己写代码做个小东西 

专家
2014-05-18 23:14:20     打赏
4楼
做个什么小东西呢?

助工
2014-05-21 15:35:37     打赏
5楼

1、先看看mcu发送出来的字符串是否符合要求?

2、mcu和SIM300的串口是否能正常通信?



共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]