我已将我的 arduino 插入 USB 端口,并且/dev/ttyACM0
根据我的端口被识别dmesg
:
[ 3269.509330] cdc_acm 1-6:1.0: ttyACM0: USB ACM device
[ 3312.346228] usb 1-6: USB disconnect, device number 6
[ 3329.402161] usb 1-6: new full-speed USB device number 7 using xhci_hcd
[ 3329.532105] usb 1-6: New USB device found, idVendor=2341, idProduct=0001
[ 3329.532114] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[ 3329.532120] usb 1-6: Product: Arduino Uno
[ 3329.532126] usb 1-6: Manufacturer: Arduino (www.arduino.cc)
[ 3329.532131] usb 1-6: SerialNumber: 6493234363835111B171
[ 3329.532394] usb 1-6: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[ 3329.533486] cdc_acm 1-6:1.0: ttyACM0: USB ACM device
但是我执行的 idls -l /dev/ttyACM0
显示在组中tty
而不是组中dialout
:
$ ls -l /dev/ttyACM0
crw--w---- 1 root tty 166, 0 Μάι 10 16:06 /dev/ttyACM0
因此:
当我尝试在 Arduino IDE 中打开串行控制台时出现以下错误:
打开串行端口“/dev/ttyACM0”时出错。请尝试查阅以下文档:http://playground.arduino.cc/Linux/All#Permission
该
screen /dev/ttyACM0
命令没有显示任何内容。
您知道我该如何修复该问题,或者当插入 arduino 时如何将其设置为不同的端口作为组dialout
吗/dev/arduino0
?
附言我的用户在组中,dialout
如groups
命令所示:
pcmagas adm tty uucp dialout cdrom sudo dip plugdev lpadmin sambashare docker lxd wireshark
答案1
有时,如果您已将服务设置为分配端口,则无法向 arduino 发送或发送数据。为此,请使用以下命令集禁用分配所需 USB 端口的任何服务:
sudo systemctl stop serial-getty@ttyACM0
sudo systemctl disable serial-getty@ttyACM0
serial-getty
通常,如果您使用其他主板(例如 Raspberry Pi),常见的怀疑就是服务。
更多答案可以参见:http://forum.arduino.cc/index.php?topic=546660.msg3726479#new