我買了一個 USBASP 2.0 編程器並將其連接起來,我看不到編程器創建的任何連接埠。我期望的USBtty0
是/dev
為了解決這個問題,我重新啟動了 UDEV 並嘗試了其他 UDEV 配置,但它沒有顯示。
烏納梅
Linux Puc 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
LSSB
Bus 003 Device 092: ID 16c0:05dc Van Ooijen Technische Informatica shared ID for use with libusb
訊息
[181622.326920] usb 3-5: new low-speed USB device number 92 using xhci_hcd
[181622.460268] usb 3-5: New USB device found, idVendor=16c0, idProduct=05dc
[181622.460270] usb 3-5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[181622.460271] usb 3-5: Product: USBasp
[181622.460272] usb 3-5: Manufacturer: www.fischl.de
udev規則
SUBSYSTEMS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE="0666"
這個設備: http://www.fischl.de/usbasp/
[編輯]
從arduino/hardware/tools/avr
目錄使用此命令,連接可以正常工作,但不能從 Arduino IDE 內部進行。
./bin/avrdude -C etc/avrdude.conf -c usbasp -P usb -p m328p
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f
avrdude: safemode: Fuses OK (H:05, E:DF, L:FF)
avrdude done. Thank you.
答案1
我不認為這是應該的。
如果我沒記錯的話,USBasp 使用自訂控制傳輸,例如透過供應商和產品 ID 以及 ID 字串avrdude
進行查找。/dev/bus/usb
使用avrdude
,類似這樣的東西應該可以工作,或者抱怨它找不到具有正確 ID 的 USB 裝置:
avrdude -P usb -c usbasp -p $UC
此外,由於 USBasp 與軟體實現的 USB 配合使用,因此它僅限於低速操作,這原則上意味著它不能用作串行端口:
USB CDC 類別適用於數據機和其他通訊裝置。 [...]
CDC 需要批次端點,而 USB 規範禁止低速裝置使用這些端點。
(引自V-USB 維基)