我在将一个简单的hello world程序上传到我的Arduino Mega 2560时遇到了问题。我检查了它是否可以在使用IDE时工作,而且确实如此。但是,我不想使用IDE。 (顺便说一句,我必须chmod a+rw /dev/ttyACM0
才能让它发挥作用。)
错误是众所周知的,并在网上进行了很多讨论。到目前为止我找到的解决方案都没有适用于我,因为我使用的是makefile而不是IDE,而且我使用的是Linux。 Makefile我使用:
ARDUINO_DIR = /usr/share/arduino
TARGET = test
ARDUINO_LIBS =
MCU = atmega2560
F_CPU = 16000000
ARDUINO_PORT = /dev/ttyACM0
AVRDUDE_ARD_BAUDRATE = 115200
AVRDUDE_ARD_PROGRAMMER = arduino
include /usr/share/arduino/Arduino.mk
源编译很好,但在上传阶段,avrdude抱怨:
/usr/share/arduino/hardware/tools/avr/../avrdude -q -V -D -p atmega2560 -C /usr/share
/arduino/hardware/tools/avr/../avrdude.conf -c arduino -b 115200 -P /dev/ttyACM0 \
-U flash:w:build-uno/test.hex:i
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
我认为这是错误地设置标志的简单问题。有什么想法吗?
答案 0 :(得分:0)
AVRDUDE_ARD_PROGRAMMER = arduino
Arduino MEGA(atmega2560)使用与Uno不同的引导加载程序,并且需要不同的程序员类型。改变" arduino"到"接线" (或" stk500v2")