打印
[MSP430]

求430控制GSM模块发送短信的程序

[复制链接]
1775|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
lofky| | 2014-2-12 17:06 | 只看该作者
51的行不

使用特权

评论回复
板凳
lofky| | 2014-2-12 17:09 | 只看该作者
代码              

新建 WinRAR 压缩文件.rar

53.76 KB

使用特权

评论回复
地板
feifeiandhuzi|  楼主 | 2014-2-12 18:23 | 只看该作者
lofky 发表于 2014-2-12 17:09
代码

51的有了,我们改了个430的,但是不成功,能不能麻烦看看哪的问题
#include<msp430x14x.h>
#define uint unsigned int
#define uchar unsigned char
uchar  PhoneCall[]={"ATD15382342871;"};//打电话数据
uchar  TxtMode[9]={"AT+CMGF=0"}; //短信模式设置PDU模式
uchar  mess_qian[8]={"AT+CMGS="};// 短信 长度设置
uchar  length[2]={"27"}; //短信的长度 2个数(根据短信内容不同要改变)
uchar  cnum[18]={"0891683108200205F0"};//18个数(中心号码设置)
uchar  pdu1[10]={"11000D9168"};//10个(短信格式设置可以为固定+86的手机)
uchar  pnum[12]={"5183322478F1"};//12个数(短信接收手机号码设置)
uchar  pdu2[6]={"0008A7"};//6个        (短信有效期,可以固定不变)
uchar  lenmsg[2]={"0C"}; //短信内容的长度 2个数(16进制)//(因短信具体内容不同要改变的)
uchar  pdumessage[24] = {"606D559CFF0C6210529FFF01"};//12个数。内容为:"恭喜,成功!"的PDU码。
uchar  AT[]={"AT"};
//联机命令
//void uartwritechar();
void uartwritestr();
void GSM_AT();
void GSM_TXT();
void GSM_CMGS();
void GSM_length();
void centernum();
void PDU_1();
void pdu_phonenum();
void PDU_2();
void Len_msg();
void pdu_message();
void phone();
void uartwritechar(char ch)
  {
    TXBUF0=ch;
    while(!(IFG1&UTXIFG0));
}
  
  void uartwritestr(uchar *s ,int len)
  {while(len--)
    uartwritechar(*s++);
  }
  void GSM_AT()
  {
  uartwritestr(AT ,2);
   uartwritechar('\r');
  }
void GSM_TXT()
{
   uartwritestr(TxtMode ,9);
   uartwritechar('\r');
}
void GSM_CMGS()       
{
uartwritestr(mess_qian,8);
}
void GSM_length()
{
   uartwritestr(length,2);
   uartwritechar('\r');
}
   
/**********************以下是发PDU码的程序*********************************/
void centernum()  //发中心号码
{
        uartwritestr(cnum,18);       
}
void PDU_1()      //发PDU1(短信格式设置可以为固定+86的手机)
{
        uartwritestr(pdu1,10);
}
void pdu_phonenum()      //发PDU_phonenum(短信接收手机号码设置)
{
        uartwritestr(pnum,12);

}
void PDU_2()      //发PDU2         (短信有效期,可以固定不变)
{
        uartwritestr(pdu2,6);

}
void Len_msg()      //{"0C"}; //短信内容的长度 2个数(16进制)
{
        uartwritestr(lenmsg,2);

}               
void pdu_message()      ////短信内容24/2=12个数()
{
        uartwritestr(pdumessage,24);
       
        uartwritechar(0x1a);  //发送结束标志位(CTRL+Z        )
       
}       
  
   void phone()
{  
     uartwritestr(PhoneCall,15);//{"ATD13795568363;"};//打电话数据
     uartwritechar('\r');

}
void main(void)
{
  WDTCTL=WDTPW+WDTHOLD;
  P3SEL|=0X30;
  ME1|=UTXE0+URXE0;
  UCTL0|=CHAR;
  UTCTL0|=SSEL0;
  UBR00=0X30;
  UBR10=0X00;
  UMCTL0=0X4A;
  UCTL0 &=~SWRST;
  IE1=0XC0;
  void GSM_AT();
  void GSM_TXT();
  void GSM_CMGS();
  void GSM_length();
  void centernum();
  void PDU_1();
  void pdu_phonenum();
  void PDU_2();
  void Len_msg();
  void pdu_message();
  void phone();

}
//#pragma vector=UART0RX_VECTOR
//__interrupt void usart0_rx(void)
//{_BIC_SR_IRQ(LPM3_bits);
//}

使用特权

评论回复
5
lofky| | 2014-2-12 18:28 | 只看该作者
你可以先这样,只先测试个打电话的,打电话是最简单的,如果这都不通,那就是代码的问题,我记得就是一些AT指令集,打印到串口调试助手上看看,然后与你那个GSM手册上的说明书对应,看你串口发出来的数据对不对,比如说“格式、具体语句”

使用特权

评论回复
6
lofky| | 2014-2-12 18:35 | 只看该作者
同时,你可以先把你程序的语句通过串口调试助手发送给GSM,这样相当于是直接通过串口向GSM发送代码,没有涉及到单片机的处理

使用特权

评论回复
7
feifeiandhuzi|  楼主 | 2014-2-12 20:01 | 只看该作者
lofky 发表于 2014-2-12 18:35
同时,你可以先把你程序的语句通过串口调试助手发送给GSM,这样相当于是直接通过串口向GSM发送代码,没有涉 ...

代码检查没问题,感觉还是程序没写对

使用特权

评论回复
8
lofky| | 2014-2-13 09:52 | 只看该作者
不是代码检查没问题,而是把你C语言中的代码直接通过串口调试助手发送给GSM模块,看是否行得通,先不用单片机

使用特权

评论回复
9
jiangsai0218| | 2014-4-17 08:41 | 只看该作者
feifeiandhuzi 发表于 2014-2-12 18:23
51的有了,我们改了个430的,但是不成功,能不能麻烦看看哪的问题
#include
#define uint unsigned int

应该是MSP430的两个串口分别和PC机与GSM模块相连吧!

使用特权

评论回复
10
cdf1214| | 2015-3-28 16:20 | 只看该作者
                 北京长实拓展电子有限公司
本公司主营TI. NXP. IR. ON. SiLicon                                                                                                       等著名世界品牌产品。
MSP430F一系列TI储存芯片 微控处理器
MSP430F149IPMR MSP430F5438AIPZR MSP430F5438IPZR等。
C8051F 一系列SILICON 单片机 微控处理器
C8051F020 C8051F120 C8051F340 C8051F040等
LPC一系列NXP单片机  
LPC2132FBD64 LPC2134FBD64 LPC2214FBD144  
LPC2378FBD144 LPC2292FBD144等一系列供应
专营:低压差 基准源 三 五 七端稳压 二三极管 场效应 快恢复 肖特基二极管 可控硅 达林顿 整流桥 TVS管 光藕 MAX AD 集成电路 
                   北京长实拓展电子销售:陈冬锋
                                     QQ:2850327057
                      电话:15711002528,13641144498

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

23

帖子

0

粉丝