3

我正在使用AVRDUDE for Android ( http://code.google.com/p/andavr/ )。我可以编译C代码。我可以跑

$ avr-gcc -Os -DF_CPU=16000000UL -mmcu=atmega328p -c -o led.o led.c
$ avr-gcc -mmcu=atmega328p led.o -o led
$ avr-objcopy -O ihex -R .eeprom led led.hex

都没有问题。然后我尝试运行:

avrdude -F -V -c arduino -p ATMEGA328P -P /dev/bus/usb/002/002  -b 115200 -C /data/data/jackpal.androidterm/local/etc/avrdude.conf -U flash:w:led.hex

结果是:

avrdude: ser_open(): can't open device "/dev/bus/usb/002/002"; Permission denied
loctl("TIOCMGET"): Invalid argument

avrdude done. Thank you.

我运行时的情况类似:

avrdude -F -V -c arduino -p ATMEGA328P -P /dev/bus/usb/002/001  -b 115200 -C /data/data/jackpal.androidterm/local/etc/avrdude.conf -U flash:w:led.hex

我可以确认这是用OTG电缆/dev/bus/usb/002/002连接的 Arduino 设备。在连接之前,我运行

ls -l /dev/bus/usb/002/

我得到:

total 0

通过 USB 将 Arduino 连接到平板电脑后,我运行以下命令:

ls -l /dev/bus/usb/002

我得到

crw-rw----   1 0   1018  180,128 Mar 24 07:53 001
crw-rw----   1 0   1018  180,129 Mar 24 07:53 002

这清楚地向我展示了 Arduino 已连接。我很想知道是否有人能看到我做错了什么。

PS:我正在尝试创建一个 Android 应用程序,允许直接从 Android 平板电脑进行 Arduino 编程。

4

2 回答 2

3

它说“权限被拒绝”,您似乎没有使用 root shell。尝试“su”,然后尝试失败的命令。如果你的手机没有root,我认为它不能工作。

我什至不确定当你是 root 时它是否能正常工作,所以请发布结果!我的猜测是,如果您的手机不充当 USB 主机,它就不会(只有一些可以)

于 2013-03-24T09:24:49.207 回答
-1

我不是专家。但是你不需要一个USB 屏蔽来通过电缆与 Arduino - Android 通信吗?两者都是奴隶(所以当 Android/Arduino 插入 PC 时,PC 会控制它)。试用适用于 Arduino 的 USB Host Shield 2.0

再说一次,我可能是错的。我希望这有帮助。

于 2013-03-24T21:53:49.893 回答