avrdude: stk500v2_ReceiveMessage(): таймаут

Это основная ошибка, которую я получаю при попытке запустить мою программу ARDUINO. Полный список ошибок выглядит следующим образом:

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

Мой код выглядит следующим образом:

int led=13;
void setup()
{
    pinMode(13,OUTPUT);
}

void loop()
{
    digitalWrite(13,HIGH);
    delay(1000);
    digitalWrite(13,LOW);
    delay(1000);
}

Я пробовал обновлять драйверы (они полностью обновлены) и загружать некоторые программы. У меня Windows 7, а мой arduino - MEGA 2560. Она отображается в диспетчере устройств, и все мои подключения правильные. Зеленый индикатор PWR горит, также как и мигающий индикатор L. При обновлении мигают индикаторы RX и TX. Я перепробовал почти все, что можно найти в Интернете. В чем проблема?

Сообщение об ошибке означает, что программатор не может связаться с загрузчиком устройства; код, который вы пытаетесь загрузить, не имеет никакого отношения к проблеме.

Причины могут быть многочисленными и разнообразными, некоторые возможные проблемы:

  1. Связь по UART
  • Мигание происходит, так что, надеюсь, вы не используете неправильный порт. Хотя, возможно, стоит проверить еще раз, иногда USB COM-устройства устанавливаются на странные номера портов.

  • Подключите TX к RX (и отсоедините их от AVR, если возможно), затем откройте терминал на COM-порту, вы должны увидеть символы, набранные эхом. Если вы не видите, что-то не так в потоке чипа, это может быть чип связи (я думаю, что Arduino 2560 использует вторичный AVR вместо FTDI по какой-то причине, так что это может быть нарушено, либо его программное или аппаратное обеспечение).

  1. ATmega* загрузчик
  • AVR по какой-то причине не выполняет загрузчик. Если программатор не сбрасывает микро перед попыткой подключения, причина может быть в этом. Попробуйте сбросить AVR (нажмите и отпустите кнопку), пока программатор пытается подключиться. Иногда программное обеспечение, работающее в замкнутом цикле, не позволяет загрузчику подключиться.

  • В противном случае, возможно, перепутаны предохранители или стерся код. Вам потребуется перепрошивка загрузчика и правильные предохранители, см. соответствующую информационную страницу для вашего устройства.

  1. Только Arduino Mega 2560: Программное обеспечение ATmega8U/16U

*Может не работать и потребуется перепрограммирование. См. раздел Programming section on the info page, для перепрошивки цели вам понадобится прошивка и совместимое с Atmel программное обеспечение DFU (device firmware update) на вашем компьютере.

  1. Аппаратное повреждение платы, AVR(ов) или микросхемы FTDI
  • Вам нужен новый чип.

Посмотрите это сообщение на форуме, чтобы найти еще несколько идей.

Комментарии (1)

Я получил эту ошибку, потому что не указал правильный программатор в командной строке avrdude. Вы должны указать "-c arduino", если вы используете плату Arduino.

Этот пример команды считывает состояние hfuse:

avrdude -c arduino -P /dev/ttyACM0 -p atmega328p -U hfuse:r:-:h
Комментарии (0)

Это не совсем решение проблемы, но оно может помочь другим. В отличие от того, что сказал Ник, для меня это было связано с кодом в моей программе. У меня мега модель ADK. Проблема была связана с оператором switch для обработки и разбора возвращаемых byte[] из usb-соединения с Android. Это очень странно, потому что оно компилировалось идеально каждый раз, но не срабатывало, как указано в описании. Я закомментировал его, и все заработало нормально.

Комментарии (0)