我正在使用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问题......