我使用AVRDUDE为Android( http://code.google.com/p/andavr/ )。 我可以编译Ç代码。 我可以跑
$ 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
我可以确认/dev/bus/usb/002/002
是与连接在Arduino的设备OTG电缆。 连接之前,我跑
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编程。