【发布时间】:2015-02-19 15:48:12
【问题描述】:
我正在使用http://ed.am/dev/make/arduino-mk 将代码上传到我在 Ubuntu 中的 arduino 产品,而无需使用 IDE。
话虽如此,我已经确认 makefile 和 avrdude 可以很好地与我的 Arduino Uno 配合使用,所以没问题。
但是,我需要它与 Arduino Micro 配合使用。所以在设置 .hex 文件等之前,我输入了:
export BOARD = micro
这将允许我获得 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 时,它也会做同样的事情,它也会卡在上传中......
我更新了 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 问题...
【问题讨论】:
标签: linux makefile arduino driver avrdude