【问题标题】:MSP430 And Gsm interfacing using energiaMSP430 和 Gsm 接口使用 energia
【发布时间】:2015-03-16 11:04:07
【问题描述】:

我正在开展一个项目,该项目涉及从 MSP430G2553 向 GSM 模块发送短信。下面是代码,我用于连接 GSM 和 MSP430G2553 微控制器。此代码既没有显示任何错误,也没有执行。

请提出一些解决方案。

#include<msp430.h>

void setup(){
    Serial.begin(9600);
    //pinMode(RED_LED, OUTPUT);
    //pinMode(GREEN_LED, OUTPUT);
}

void loop(){
    sendsms();
}

void sendsms()
{
    Serial.println(" AT+CMGF=1 ");
    // digitalWrite(GREEN_LED, LOW);
    Serial.println(" AT+CMGS =\"1234567890\""); //Enter Mobile Number between double "  " codes.
    Serial.println("Hello World!"); //SMS to ur Mobile Number
    delay(5000);
    delay(5000);
}

用于gsm和MSP430G2553微控制器之间的物理连接。我已经连接了引脚

  1. 引脚 P1.1 -> GSM 的 Rx。
  2. 引脚 P1.2 -> GSM 的 Tx。
  3. 两块板的 GND 连接。

这个连接正确吗?或

我需要在两个板之间物理连接更多的电线?

【问题讨论】:

  • main() 函数怎么样?您是否在sendsms() 处设置了断点,是否正在调用该函数?您如何理解“代码未执行”?只是手头没有水晶球……
  • 其实我用的是Energia,所以不需要设置断点。一切都将循环运行并自动设置功能。因此不需要 main() 循环。它没有执行意味着它没有显示任何输出。即使在 energia 的串口监视器上也会打印这些语句,但电话号码上没有发送短信: AT+CMGF=1 AT+CMGS ="1234567890" Hello World

标签: gsm msp430


【解决方案1】:

您的 Energia 编码是正确的。但是您需要添加一些额外的 at 命令来使用 gsm 模块发送短信。下面我提供了修改后的代码。

并在 setup() 函数中调用 sendms() 函数,以便在按下重置按钮时仅发送一次短信。如果它在 loop() 函数中没有任何条件,则 gsm 模块会连续发送短信。

#include<msp430.h>
void sendsms()
{
Serial.println("AT\r");
delay(1000);
Serial.println("AT+CMGF = 1\r");
delay(1000);
Serial.println(" AT+CMGS =\"1234567890\"\r");
delay(1000);
Serial.println("HELLO WORLD");
delay(1000);
Serial.println((char)26);
delay(100);
}
void setup(){
    Serial.begin(9600);
    //pinMode(RED_LED, OUTPUT);
    //pinMode(GREEN_LED, OUTPUT);
   sendsms();
}

void loop(){

}

试试这个代码。仍然没有收到短信然后检查gsm模块默认波特率是9600还是什么。

【讨论】:

  • 谢谢维涅什。我用 SoftwareSerial 试过了。有效。谢谢顺便说一句。 :)
猜你喜欢
  • 1970-01-01
  • 2015-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-11
  • 2013-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多