社区导航

 

搜索
查看: 1322|回复: 4

[求助] 430YU与GSM模块的通信,发短信

[复制链接]

18

TA的帖子

2

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2015-7-27 16:02 | 显示全部楼层 |阅读模式
#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);


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



回复

使用道具 举报

1147

TA的帖子

0

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

荣誉会员勋章

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


回复

使用道具 举报

18

TA的帖子

2

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-7-28 09:25 | 显示全部楼层
qiushenghua 发表于 2015-7-28 02:20
你自己不清楚为什么收不到短信的话别人更不清楚。
你用的什么GSM模块,接线对不对,模块电路对不对?
SIM ...

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


回复

使用道具 举报

1147

TA的帖子

0

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

荣誉会员勋章

发表于 2015-7-28 10:19 | 显示全部楼层
别告诉我你初始化函数Init_spi实际上初始化的是串口…
没空帮你算波特率,直接上逻辑分析仪抓串口波形吧!


回复

使用道具 举报

18

TA的帖子

2

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-7-28 12:39 | 显示全部楼层
谢谢您给我解答,不怕你无语,我还真是串口,不用串口怎么发啊,逻辑分析仪没用过,我是初学,您能给我一程序吗?谢谢了


回复

使用道具 举报

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

关闭

站长推荐上一条 /1 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-7-16 06:06 , Processed in 0.191350 second(s), 17 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表