Больше нельзя загружать на платы Arduino
Недавно я работал над несколькими проектами и сделал сотни загрузок на несколько разных досок. У меня не было никаких проблем, о которых стоило бы говорить. Теперь я не могу загружать. Я пробовал:
- Отключите все входы и выходы от аналоговых и цифровых портов - это плата, к которой ничего не подключено, кроме USB.
- Замена кабелей
- Изменение USB-портов на моем компьютере
- Используем совершенно новый Arduino Uno из коробки
- Использование примеров эскизов и даже BareMinimum
- Последовательный тест обратной связи - НЕУДАЧНО
- Обновляем драйвер на тот, что из папки arduino
- Использование неподписанного драйвера
- Ручная настройка скорости драйвера Windows, четности и т. д.
- Удаление и повторная установка Arduino IDE
- Откат менеджера плат для плат AVR до версии 1.20 и 1.19
- Сменить программиста на AVR ISP
Вот результат:
Arduino: 1.8.5 (Windows 10), Board: "Arduino/Genuino Uno"
Sketch uses 444 bytes (1%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xc7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xc7
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Вот подробный вывод:
Arduino: 1.8.5 (Windows 10), Board: "Arduino/Genuino Uno"
Sketch uses 444 bytes (1%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
C:\Users\kanan\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\kanan\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -carduino -PCOM5 -b115200 -D -Uflash:w:C:\Users\kanan\AppData\Local\Temp\arduino_build_835373/BareMinimum.ino.hex:i
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\kanan\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xd5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xd5
avrdude done. Thank you.
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Я не пытаюсь установить бета-версию arduino ide, но не уверен, что это сработает.
Мне кажется, я перепробовал все разумные варианты, и даже больше, чем большинство людей могли бы себе представить. Чего я лишился?
------------ ОБНОВЛЕНИЯ --------------
Теперь я отошел от arduino IDE и работаю напрямую с avrdude. Все еще безуспешно. Запуск:
avrdude.exe -p m328p -c arduino -P COM6
не удается.
Я также попробовал это на моем компьютере с Fedora 27. Вот вывод dmesg:
[349004.632101] usb 2-1.5: new full-speed USB device number 5 using ehci-pci
[349004.711497] usb 2-1.5: New USB device found, idVendor=1a86, idProduct=7523
[349004.711503] usb 2-1.5: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[349004.711507] usb 2-1.5: Product: USB2.0-Serial
[349004.713405] ch341 2-1.5:1.0: ch341-uart converter detected
[349004.714652] usb 2-1.5: ch341-uart converter now attached to ttyUSB0
затем я запустил это:
$ dmesg | grep tty
И получил это:
[ 0.000000] console [tty0] enabled
[ 0.781927] 00:06: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 14.034377] usb 2-1.5: ch341-uart converter now attached to ttyUSB0
Затем я запускаю это:
$ avrdude -p m328p -c arduino -P /dev/ttyS0
и получите это:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
avrdude done. Thank you.
В этот момент я также попытался
$ avrdude -p m328p -c arduino -P /dev/ttyUSB0
Тот же результат. На данный момент мне кажется, что у меня несколько сгоревших ардуинов. Вчера они были в порядке, но сегодня они поджарены. Три компьютера, три кабеля, три ардуина, все тот же результат.
Итак, отсюда. Кто-нибудь слышал о том, что плохой кабель сжег ардуино?
@Beachhouse, 👍3
2 ответа
Лучший ответ:
Я идиот.
Мне следовало бы присмотреться внимательнее.
Поскольку я так часто использовал эти платы, я решил, что знаю DIP-переключатели наизусть. Все пошло не так, когда я запутался, переключаясь с Uno на ESP.
Вот ссылка с https://robotdyn.com/uno-wifi-r3-atmega328p-esp8266-32mb-flash-usb-ttl-ch340g-micro-usb.html:
Значение этого шаблона DIP-переключателя для ESP:
А это для ООН:
< a href="https://i.sstatic.net/4umNX.jpg">
СПАСИБО ВСЕМ ЗА ВРЕМЯ И УСИЛИЯ, КОТОРЫЕ ВЫ ПРИЛОЖИЛИ, ЧТОБЫ ПОМОЧЬ МНЕ!!!
tldr: Проверьте свои DIP-переключатели.
Поскольку ваши USB-порты, скорее всего, подходят для других устройств (например, клавиатуры) и вы перепробовали несколько Arduino, кабелей и т. д., теперь попробуйте Knoppix — в нем есть и Arduino IDE (не самая последняя версия), и avrdude. https://unetbootin.github.io или https://www.pendrivelinux.com/install-knoppix-6-to-a-usb-flash-drive-in-windows и http://www.knopper.net/knoppix-mirrors/index-en.html
Если это не сработает, просмотрите журнал загрузки или, что быстрее, dmesg
после подключения Arduino и попытки загрузки.
Стоит отметить: 328p target не подходит для mega, используйте, например: avrdude -vv -p atmega2560 -b115200 -c wiring -P COM3
или avrdude -vv -p atmega2560 -c wiring -P /dev/ttyUSB0
. Если не указывать -b115200
, проблем с mega быть не должно. Попробуйте это, прежде чем мучить себя дальше...
Если вы все еще получаете ошибки и не возились с тактовой частотой или чем-то еще, это будет действительно очень странно.
- Программирование ATMEGA2560 с использованием FTDI
- Проблема с загрузкой скетча в Леонардо
- Можно ли обновить загрузчик Arduino (Nano) через себя и Arduino IDE или требуется ISP?
- Не удается подключиться через /dev/ttyACM0 (Ubuntu 18.04)
- Как правильно активировать контакт сброса ATMega328 с помощью ПО, чтобы загрузчик работал, а прошивка могла обновляться через контакты RX/TX?
- Как загрузить программу через последовательный порт на микроконтроллер tinyAVR-0/1 с поддержкой Optiboot_X с помощью командной строки?
- Загрузка на внешний ATmega328P с клоном UNO R3 с припаянной микросхемой
- Связь Arduino с ROS через UART