0

我正在使用http://ed.am/dev/make/arduino-mk将代码上传到我在 Ubuntu 中的 arduino 产品,而不使用 IDE。

话虽如此,我已经确认 makefile 和 avrdude 可以很好地与我的 Arduino Uno 配合使用,所以这很好。

但是,我需要它与 Arduino Micro 一起使用。因此,在设置 .hex 文件等之前,我输入了:

export BOARD = micro

如makefile所述,这将允许我获得微型的格式。当我尝试上传它时,我遇到了一个有趣的情况:

nancy@nancy-VirtualBox:~/Desktop/Arduino/sketchbook$ make upload

stty -F /dev/ttyACM0 speed 1200
57600
sleep 1
/usr/bin/avrdude -DV -p atmega32u4 -P /dev/ttyACM0 -c avr109 -b 57600 -U flash:w:blink.hex:i

到那时,它会在这条线上停留多久,并没有真正做任何事情。Arduino 本身的 LED 13 持续闪烁,但 Rx 没有亮起。为了仔细检查,我检查了 dmesg:

usb 1-2: new full-speed USB device number 32 using ohci-pci
usb 1-2: New USB device found, idVendor=2341, idProduct=8037
usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-2: Product: Arduino Micro
usb 1-2: Manufacturer: Arduino LLC
cdc_acm 1-2:1.0: This device cannot do calls on its own. It is not a modem.
cdc_acm 1-2:1.0: ttyACM0: USB ACM device
input: Arduino LLC Arduino Micro as /devices/pci0000:00/0000:00:06.0/usb1/1-2/1-2:1.2/input/input36
hid-generic 0003:2341:8037.001F: input,hidraw1: USB HID v1.01 Mouse [Arduino LLC Arduino Micro ] on usb-0000:00:06.0-2/input2

所以我至少知道它是正确的端口(也使用 ls -l /dev/serial/by-id 仔细检查)。以防万一,我用普通的 Windows 仔细检查,Windows 通知我驱动程序没有正确安装。在 Arduino 软件中,当我尝试将通用闪烁代码上传到 micro 时,它也会执行相同的操作,即它也会卡在 Upload...

我更新了 micro 的驱动程序,Arduino 软件上传到 Arduino Micro 就好了。以防万一我认为这是我从朋友那里借来的实际硬件,我在新的 Arduino Micro 上测试了这个问题,并且这个问题仅在 Linux 界面中复制。我很确定它也不是 VirtualBox linux,因为 Arduino Uno 上传到它时工作得很好。

有谁知道我可以如何解决我的上传问题?我认为这是某种驱动程序问题。

谢谢。

编辑:尝试了 arduino Mega(出口板 = mega2560)

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

所以我认为这是一个驱动程序和makefile问题......

4

2 回答 2

0

这可能不是您正在等待的答案,但您使用的 makefile 似乎已经很老了。

我建议您切换Sudar 的 Arduino Makefile,这真是太棒了。

希望这可以帮助 :)

于 2015-02-19T17:30:18.690 回答
0

对 Mega Board 进行编程我使用以下命令,这对我来说很好用:

avrdude -patmega2560 -cwiring -P/dev/ttyACM0 -b115200 -D -Uflash:w:blink.hex:i
于 2017-10-23T07:32:50.327 回答