Arduino 通过 /dev/ttyACM0 识别,但在组 tty 上拨出。IDE 无法打开串行控制台

Arduino 通过 /dev/ttyACM0 识别,但在组 tty 上拨出。IDE 无法打开串行控制台

我已将我的 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

因此:

  1. 当我尝试在 Arduino IDE 中打开串行控制台时出现以下错误:

    打开串行端口“/dev/ttyACM0”时出错。请尝试查阅以下文档:http://playground.arduino.cc/Linux/All#Permission

  2. screen /dev/ttyACM0命令没有显示任何内容。

您知道我该如何修复该问题,或者当插入 arduino 时如何将其设置为不同的端口作为组dialout/dev/arduino0

附言我的用户在组中,dialoutgroups命令所示:

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

相关内容