Arduino学习笔记(17)-- Linux & Arduino 串口问题解决

故事扮演 提交于 2020-03-07 19:38:11

1. Serial port不能识别

https://blog.csdn.net/qq_24254419/article/details/62241770

步骤1

解决方法是:插上你的arduino到电脑的USB上,并确保虚拟机软件中识别并将该串口添加至虚拟设备中,在命令行里运行:

                                 dmesg | tail

结果如下:

在最后一行显示了该Arduino的串口编号:ttyUSB0

 

步骤2

 命令行执行  ls -l  /dev/ttyUSB0 //这个0就是上面检测到的

  这个”dialout”名字就是下面我们要用到的组名。

步骤3

以上的 命令均是在没有root时候键入的,到了这一步,进入root权限(键入 su 进入)

sudo su

usermod -a -G dialout name //这里的name是自己电脑用户的名字

步骤4

再键入  ls -ld /run/lock

然后出现以下字样:

    drwxrwxrwt5 root root 4096 9 dic 21.39 /var/lock

步骤5

运行root下的

     chmod +rwx /run/lock

 

步骤6

在ubuntu下,预置安装了一个叫brltty的程序与Arduino有冲突,卸载即可。这个东西是为盲人设计的,所以大可放心卸载,没有什么问题。卸载完重启电脑。

  sudo apt-get remove brltty 

之后就能在Arduino IDE中看到串口了


2. 无法获取权限:can't open device "/dev/ttyUSB0": Permission denied

编译成功,但是上传时候报错:

avrdude: ser_open(): can't open device "/dev/ttyUSB0": Permission denied

这是串口权限不足,无法完成串口读写操作。

To set read/write permissions, enter the following

ls /dev/ttyUSB0
sudo chmod a+rw /dev/ttyUSB0

REF:https://askubuntu.com/questions/1056314/uploading-code-to-arduino-gives-me-the-error-avrdude-ser-open-cant-open-d

编译、烧录成功。

 

 

 

 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!