我有一个arduino GSM盾牌坐在arduino uno上面。我有下面的代码。盾牌只是告诉我它正在连接,但它从来没有告诉我它是连接的。我想知道为什么它没有连接。我将不胜感激任何帮助。使用arduino 1.0.5 IDE。
#include <GSM.h>
#define PINNUMBER ""
GSM gsmAccess(true);
GSM_SMS sms;
void setup() {
// initialize serial communications and wait for port to open:
Serial.begin(9600);
char code = 'X';
while(true) {
Serial.println("try Access");
code=gsmAccess.begin("",true,false);
Serial.println("\nAfter Access");
if(code==GSM_READY){
Serial.println("connected");
break;
}
if(code==CONNECTING) {
Serial.println("code is CONNECTING");
} else {
Serial.println(code);
delay(1000);
}
}
}
答案 0 :(得分:2)
您正在以异步模式启动调制解调器:
code=gsmAccess.begin("",true,false);
查看GSMBegin文档,您将获得一个总是0的返回值,它与我认为的3的GSM_READY枚举类型不对应。尝试:
code=gsmAccess.begin("",true);
答案 1 :(得分:2)
尝试连接9v电池。对我来说解决了这个问题。我遇到过同样的问题。显然,gsm盾牌使用了很多力量。有些计算机可以提供足够的,有些不能。
答案 2 :(得分:0)
我遇到了同样的问题。我通过在5 V和GND之间连接一个680μF电容解决了这个问题。这只是一个临时修复,因为它会在连接电源时产生巨大的电流尖峰。更好的解决方案是连接外部电源或更强大的USB电源。