2574|4

13

帖子

2

TA的资源

一粒金砂(中级)

楼主
 

430YU与GSM模块的通信,发短信 [复制链接]

#include
//unsigned char Data[6];使用P1.0的中断
unsigned char flag = 0;
void Init_spi(void);
void GSM(void);
void Delay(unsigned int z);
void Send_Cmd(unsigned char *s);
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
Init_spi();
_EINT();

}
void Init_spi(void)
{              
  P3SEL |= 0x30;                            // P3.4,5 = USART0 TXD/RXD
  ME2|= UTXE0 + URXE0; // Enabled USART0 TXD/RXD
  IE2|=URXIE0+UTXIE0;//使能RX,TX的中断
  U0CTL |= CHAR;                            // 8-bit character
  U0TCTL |= SSEL1;
  UBR00 = 0x50;                             //3MHz--9600
  UBR10 = 0x01;
  UMCTL0 = 0x00;//
  UCTL0&=~SWRST;
  P2DIR=0XFF;
  P2OUT=0X00;
  P1DIR&=~BIT0;
  P1IES|=BIT0;
  P1IFG&=~BIT0;
  P1IE|=BIT0;//中断使能
}

#pragma vector=PORT1_VECTOR
__interrupt void P1_ZHONGDUAN0 (void)
{unsigned int i=50000;
  if((P1IFG&0X01)==BIT0)
   P2OUT =0XAA;// 向P2OUT送数据//为什么写为取反时是来回动
  while(i--);i=50000; while(i--);
  GSM();
  P1IFG=0;
  Delay(5);
  P2OUT=0XFF;
}


//发送短信函数
void GSM(void)
{
   P2OUT|=~0X01;
   Send_Cmd("AT+CSCS=\"GSM\"\r\n");
   Delay(3);
    P2OUT=0X00;
   P2DIR|=0XFF;
   P2OUT|=~0x02;//发送GSM成功
    Delay(3);
   Send_Cmd("AT+CMGF=1\r\n");
   Delay(3);
    P2OUT=0X00;
    P2OUT|=~0x04;//格式选择成功
     Delay(3);
   Send_Cmd("AT+CMGS=\"18434361976\"\r\n");
   Delay(5);
    P2OUT=0X00;
    P2OUT|=0x08;//输入号码成功
     Delay(3);
   Send_Cmd("success\r\n");
   Delay(5);
   TXBUF0 =0x1A;  //发送
   P2OUT=0X00;//信息成功
   while((U0TCTL&0x01)==0x00);
   Delay(5);

}
//延时函数
void Delay(unsigned int z)
{
  unsigned int  i , j= 0;
        for(i=0; i                 for(j=0; j<65535; j++);
}
//发送函数
void Send_Cmd(unsigned char *s)
{

  while(*s != '\0')
  {
    P2OUT=0X77;
    while ((IFG1 & UTXIFG0) == 0);   // USART0 TX 缓存器准备好?   
    TXBUF0 = *s;
   // while((U0TCTL&0x01)==0x00);       //判断缓冲区是否为空,1为空
    s++;
  }
    //TXBUF0 = '\0';
   // while((U0TCTL&0x01)==0x00);


为什么收不到短信,望告知,谢谢喽

最新回复

别告诉我你初始化函数Init_spi实际上初始化的是串口… 没空帮你算波特率,直接上逻辑分析仪抓串口波形吧!  详情 回复 发表于 2015-7-28 10:19
 
点赞 关注

回复
举报

1193

帖子

0

TA的资源

纯净的硅(高级)

沙发
 
你自己不清楚为什么收不到短信的话别人更不清楚。
你用的什么GSM模块,接线对不对,模块电路对不对?
SIM卡是否正确鉴权,是否是可用的SIM卡,是否正确接入电路?
GSM模块的射频部分是否正常工作,附近基站能否与模块通信?
你的SPI通信是否正常?是否遵循了与模块通信的时序要求?你发送的指令是否合法有效的指令?
有没有等到模块处于待机状态再开始发送工作指令?
 
 

回复

13

帖子

2

TA的资源

一粒金砂(中级)

板凳
 
qiushenghua 发表于 2015-7-28 02:20
你自己不清楚为什么收不到短信的话别人更不清楚。
你用的什么GSM模块,接线对不对,模块电路对不对?
SIM ...

在51中能使用,所以接线啥的没问题,GTM900,接线对,SIM卡能用,正确接入,用的是异步通信,您看一下波特率对吗?谢谢了,您可以给我提供一个这样的程序吗?谢谢
 
 
 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

4
 
别告诉我你初始化函数Init_spi实际上初始化的是串口…
没空帮你算波特率,直接上逻辑分析仪抓串口波形吧!
 
 
 

回复

13

帖子

2

TA的资源

一粒金砂(中级)

5
 
谢谢您给我解答,不怕你无语,我还真是串口,不用串口怎么发啊,逻辑分析仪没用过,我是初学,您能给我一程序吗?谢谢了
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表