我正在尝试设置一切以使用 Atmega 微控制器制作一些项目。当我尝试将编译后的程序刷入微控制器时,问题就开始了,因为我需要指定我的 USBasp 所连接的端口。例如,命令如下。
avrdude -c usbasp -p m32 -P /dev/ttyUSB0 -b 19200 -U flash:w:led.hex
这个-P
参数即端口应该看起来像这样/dev/ttyUSB0
,但是目录中没有类似的东西/dev
。
更糟糕的是,当我插入或拔下 USBasp 编程器时,当我/dev
使用ls
命令列出所有内容时,什么都没有改变。例如,如果我拔下鼠标并再次插入,每次ls
命令都会对变化做出反应,但我的 USBasp 编程器却没有任何反应。
我不认为它坏了,因为其他命令确实识别它,例如lsusb
我尝试了 Google 提供的所有方法,但似乎就是找不到在使用编程器写入数据时要指定的这个端口。我使用的是 Ubuntu 22.04。
当我运行sudo journalctl --follow
设备时,它被识别并且我得到了这些信息,但它没有做任何好事,因为它没有给我这条路径/dev/ttyUSB*
或类似的东西。
当我运行时ls -1 /dev >dev.before
,ls -1 /dev >dev.after
这些文件之间完全没有任何区别。
当我运行此命令udevadm monitor --property
并添加程序员时,我得到了重复 3 次但差别不大的文本。
UDEV [1624.578178] add
/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0 (usb) ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0
SUBSYSTEM=usb DEVTYPE=usb_interface PRODUCT=16c0/5dc/102 TYPE=255/0/0
INTERFACE=0/0/0
MODALIAS=usb:v16C0p05DCd0102dcFFdsc00dp00ic00isc00ip00in00 SEQNUM=3937
USEC_INITIALIZED=1624577910 ID_USB_CLASS_FROM_DATABASE=Vendor Specific
Class ID_VENDOR_FROM_DATABASE=Van Ooijen Technische Informatica
ID_MODEL_FROM_DATABASE=shared ID for use with libusb
ID_PATH=pci-0000:00:14.0-usb-0:2:1.0
ID_PATH_TAG=pci-0000_00_14_0-usb-0_2_1_0
UDEV [1624.585799] bind /devices/pci0000:00/0000:00:14.0/usb1/1-2
(usb) ACTION=bind DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-2
SUBSYSTEM=usb DEVNAME=/dev/bus/usb/001/021 DEVTYPE=usb_device
DRIVER=usb PRODUCT=16c0/5dc/102 TYPE=255/0/0 BUSNUM=001 DEVNUM=021
SEQNUM=3938 USEC_INITIALIZED=1624574304 ID_VENDOR=www.fischl.de
ID_VENDOR_ENC=www.fischl.de ID_VENDOR_ID=16c0 ID_MODEL=USBasp
ID_MODEL_ENC=USBasp ID_MODEL_ID=05dc ID_REVISION=0102
ID_SERIAL=www.fischl.de_USBasp ID_BUS=usb ID_VENDOR_FROM_DATABASE=Van
Ooijen Technische Informatica ID_MODEL_FROM_DATABASE=shared ID for use
with libusb ID_PATH=pci-0000:00:14.0-usb-0:2
ID_PATH_TAG=pci-0000_00_14_0-usb-0_2
ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_2 MAJOR=189 MINOR=20
TAGS=:uaccess:seat: CURRENT_TAGS=:seat:
我希望DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0
这可以是“端口”,但没有这样的/devices
目录。
我曾经avrdude -P usb
指定过端口,而且它有效。我很高兴它能做到,但仍然想知道为什么我找不到这个控制器的端口路径。我在这个问题。