avrdude:ser_open():无法打开设备" / dev / ttyACM0":设备或资源繁忙

时间:2016-12-03 19:38:24

标签: linux arduino mint

我是Linux Mint用户。我正在处理Arduino Yun。我正在编译Arduino程序。之后我上传到Arduino Yun。然后我收到这些错误。你能帮助我吗?

9 个答案:

答案 0 :(得分:16)

我的莱昂纳多董事会和Ubuntu确实遇到了问题。添加规则告诉ModemManger忽略所提到的链接中的所有USB设备对我不起作用。但是,实际上删除modemmanager确实如此。

  

sudo apt-get purge modemmanager

答案 1 :(得分:12)

首先需要确保您具有正确的读/写权限,如here所述,最后输入以下命令:

$ sudo adduser <username> dialout
$ sudo chmod a+rw /dev/ttyACM0

'/ dev / ttyACM0'是你的arduino所连接的端口,它应该列在你的root的/ dev文件夹中。

秒:在确定arduino所连接的端口并且您已为此端口设置了正确的权限后,需要运行以下命令。我不确定它是做什么的,我不确定它是否真的需要,但它使上传对我有用了几次

$ sudo udevadm trigger

找到此命令here: http://starter-kit.nettigo.eu/2015/serial-port-busy-for-avrdude-on-ubuntu-with-arduino-leonardo-eth/

第三,你会发现上传有时是时机和运气的挑战。继续按下复位(有时连续两次),同时按下arduino草图的上传按钮。在某些时刻,它会起作用。当我不断更改代码中的小块时,我有更多的运气,所以当我按下'upload'时,它必须先编译代码。

https://www.arduino.cc/en/Guide/Troubleshooting#upload

在某些计算机上,您可能需要按下重置按钮

我从来没有搞过bootloader,也没有使用ICSP引脚等(幸运的是)

另请查看Arduino forum 或链接provide by yourself

答案 2 :(得分:2)

对我一直有效的解决方案是转到Tools -> Port -> /dev/ttyACMx,然后再次单击选定的端口。

之后,IDE会毫无问题地上传代码。

答案 3 :(得分:1)

确保USB电缆已牢固插入。因此,我的矿井突然停止工作。出现“ / dev / ttyACM0 not found”消息,因为除非插入设备,否则不会创建该设备。

答案 4 :(得分:1)

sudo chmod a+rw /dev/ttyACM0

运行以下命令进行首次上传

答案 5 :(得分:0)

今天早些时候,我在这个问题上苦苦挣扎,而我在网上发现的所有解决方案都无济于事。我收到的所有错误消息都与此类论坛上的消息完全相同。

然后我意识到我犯了一个最尴尬的错误,那就是我的电缆没有正确插入。

因此,请在尝试使用Internet上的所有解决方案进行一个小时的搜索之前,请确保电缆正确插入。

答案 6 :(得分:0)

使用

'use strict'

const Schema = use('Schema')

class ClassBookHistoric extends Schema {
  up () {
    this.create('class_books', (table) => {
      table.increments()
      table.integer('class_id').notNullable().unique()
      table.integer('book_unit_Id').notNullable().unique()
      table.index(['class_id','book_unit_Id'], 'class_book_index');
      table.timestamps()
    })
  }

  down () {
    this.drop('class_books')
  }
}

module.exports = UsersSchema

这将修复一次

答案 7 :(得分:0)

当进程连接到我试图通过例如用于加载代码的端口时,我会收到此消息。屏幕或gtkterm。

尝试以下命令:

lsof /dev/ttyACM3

为您的设备使用ACM 。如果有什么事情发生,例如

screen  8610  elm    5u   CHR  166,3      0t0 5599015 /dev/ttyACM3

然后杀死PID:

kill 8610

要清除正在使用端口的进程。

答案 8 :(得分:0)

只是添加一个对我有用的新解决方案(也在 Linux Mint 下) 我打开了串行监视器(从打开的 4 个 arduino IDE 中的一个)并关闭了它(可能与上面描述的过程问题有关)