avrdude:stk500_loadaddr协议错误Arduino uno GSM模块SIM800L EVB在mac计算机上

时间:2018-01-10 17:49:10

标签: arduino gsm

我在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

错误是什么?以及修复它的步骤是什么?

1 个答案:

答案 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模块的串行通信。