Fórum Root.cz
Hlavní témata => Hardware => Téma založeno: i 12. 07. 2016, 11:19:58
-
Ahoj věm,
Můžete mi někdo pomoci, nedaří se mi nahrání Testovací program dodaný s arduino-IDE do arduino-UNO takové to s MEGA8U2 na USB, Na widlých po nahrání driveru to funguje já chci ale používat linux a kdyby to šlo tak i CLI, gcc-avr a podbně.
# lsusb
....
Bus 001 Device 018: ID 2341:0001 Arduino SA Uno (CDC ACM)
....
#
# dmesg
....
[33880.036628] usb 1-1.2: new full-speed USB device number 18 using ehci-pci
[33880.130361] usb 1-1.2: New USB device found, idVendor=2341, idProduct=0001
[33880.130364] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[33880.130365] usb 1-1.2: Product: Arduino Uno
[33880.130367] usb 1-1.2: Manufacturer: Arduino (www.arduino.cc)
[33880.130368] usb 1-1.2: SerialNumber: 7493730393635161F172
-
Z nějakého důvodu se ti asi nenahrály potřebné moduly (cdc_acm, usbserial…) a nevytvořilo zařízení /dev/ttyACM0. Tohle má fungovat out-of-the-box, pokud to nemáš rozbité nebo úmyslně vypnuté.
-
Postupoval jsi při instalaci dle https://www.arduino.cc/en/Guide/Linux a nebo jinak?
-
Z prikazove radky pak:
arduino --board arduino:avr:uno --upload /path/to/source.ino --port /dev/ttyACM0
Ale napriklad u noname klonu Nano:
arduino --board arduino:avr:nano:cpu=atmega328--upload /path/to/source.ino --port /dev/ttyUSB0
A Makefile pro surove C:
OUT = test
OBJ = $(OUT).hex
SRC = $(OUT).c
F_CPU = 16000000UL
MCU = atmega328p
CC = avr-gcc
CFLAGS = -Wall -Os -DF_CPU=$(F_CPU) -mmcu=$(MCU)
OBJCOPY = avr-objcopy
OBJFLAGS = -O ihex -R .eeprom
AVRDUDE = avrdude -F -V
PROGRAMMER = arduino
PROCESSOR = $(MCU)
PORT = /dev/ttyACM0
BAUD = 115200
upload: $(OBJ)
$(AVRDUDE) -c $(PROGRAMMER) -p $(PROCESSOR) -P $(PORT) -b $(BAUD) -U flash:w:$(OBJ)
$(OBJ): $(OUT)
$(OBJCOPY) $(OBJFLAGS) $(OUT) $(OBJ)
$(OUT): $(SRC)
$(CC) $(CFLAGS) -o $(OUT) $(SRC)
clean:
rm $(OUT) $(OBJ)
-
Opravdu se nevytvořilo zařízení /dev/ttyACMX, nebo jen není vidět v Arduino IDE? Druhá varianta viz https://www.arduino.cc/en/Guide/Troubleshooting
On Linux, the Uno and Mega 2560 show up as devices of the form /dev/ttyACM0. These are not supported by the standard version of the RXTX library that the Arduino software uses for serial communication. The Arduino software download for Linux includes a version of the RXTX library patched to also search for these /dev/ttyACM* devices. There's also an Ubuntu package (for 11.04) which includes support for these devices. If, however, you're using the RXTX package from your distribution, you may need to symlink from /dev/ttyACM0 to /dev/ttyUSB0 (for example) so that the serial port appears in the Arduino software.
-
Opravdu se nevytvořilo zařízení /dev/ttyACMX
Vytvoření zařízení by to snad zalogovalo do dmesg.
-
Z nějakého důvodu se ti asi nenahrály potřebné moduly (cdc_acm, usbserial…) a nevytvořilo zařízení /dev/ttyACM0. Tohle má fungovat out-of-the-box, pokud to nemáš rozbité nebo úmyslně vypnuté.
Ano skutečně, stačilo
sudo modprobe cdc_acm
a vše funguje,
moc děkuji.