![Arduino 通过 /dev/ttyACM0 识别,但在组 tty 上拨出。IDE 无法打开串行控制台](https://linux22.com/image/1156292/Arduino%20%E9%80%9A%E8%BF%87%20%2Fdev%2FttyACM0%20%E8%AF%86%E5%88%AB%EF%BC%8C%E4%BD%86%E5%9C%A8%E7%BB%84%20tty%20%E4%B8%8A%E6%8B%A8%E5%87%BA%E3%80%82IDE%20%E6%97%A0%E6%B3%95%E6%89%93%E5%BC%80%E4%B8%B2%E8%A1%8C%E6%8E%A7%E5%88%B6%E5%8F%B0.png)
我已将我的 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