我在mac计算机上设置arduino IDE并使用Arduino uno和GSM模块SIM800L EVB
我使用以下代码块通过此模块发送短信。
#include <GSM.h>
#define PINNUMBER ""
// initialize the library instance
GSM gsmAccess; // include a 'true' parameter for debug enabled
GSM_SMS sms;
// char array of the telephone number to send SMS
// change the number 1-212-555-1212 to a number
// you have access to
char remoteNumber[20]= "12125551212";
// char array of the message
char txtMsg[200]="Test";
void setup()
{
// initialize serial communications
Serial.begin(9600);
Serial.println("SMS Messages Sender");
// connection state
boolean notConnected = true;
// Start GSM shield
// If your SIM has PIN, pass it as a parameter of begin() in quotes
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Not connected");
delay(1000);
}
}
Serial.println("GSM initialized");
sendSMS();
}
void loop()
{
// nothing to see here
}
void sendSMS(){
Serial.print("Message to mobile number: ");
Serial.println(remoteNumber);
// sms text
Serial.println("SENDING");
Serial.println();
Serial.println("Message:");
Serial.println(txtMsg);
// send the message
sms.beginSMS(remoteNumber);
sms.print(txtMsg);
sms.endSMS();
Serial.println("\nCOMPLETE!\n");
}
虽然我尝试以下错误来自控制台。考虑这是我第一次使用这项技术。并且不确定我是否必须设置任何驱动程序才能使用GSM模块。
avrdude: stk500_loadaddr(): (a) protocol error, expect=0x14, resp=0x00
avrdude: stk500_paged_load(): (a) protocol error, expect=0x14, resp=0x00
avrdude: stk500_cmd(): programmer is out of sync
avr_read(): error reading address 0x0000
read operation not supported for memory "flash"
avrdude: failed to read all of flash memory, rc=-2
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00
错误是什么?以及修复它的步骤是什么?
答案 0 :(得分:1)
您是否设法将任何草图上传到arduino。首先尝试上传闪烁示例草图。
如果失败则会出现连接问题或配置错误。如果您使用的是标准Arduino IDE,则可以使用菜单项来选择正确的电路板。如果你有错误的电路板,那么你会收到许多有线信息,例如这里的信息。
avrdude: stk500_loadaddr(): (a) protocol error, expect=0x14, resp=0x00
首先检查你是否有正确的电路板。
如果没关系但你仍然无法加载那么你可能已经破坏了引导加载程序。 arduino内存的一个特殊位保留用于上传草图的程序。其他程序可能会覆盖此代码,使芯片变硬。它可以重新加载但很棘手。
另一种可能性是模块正在干扰程序员。 Arduino使用引脚0和1来上传草图,并且使用这些引脚连接模块的串行通信可能会导致冲突。在QUICKSTART SIM800 (SIM800L) WITH ARDUINO引脚中,引脚7和8用于与GSM模块的串行通信。