加入收藏 | 设为首页 | 会员中心 | 我要投稿 岳阳站长网 (https://www.0730zz.com/)- 物联平台、混合云存储、数据仓库、智能推荐、智能数字人!
当前位置: 首页 > 综合聚焦 > Ubuntu > 正文

无法使用stino和Ubuntu 12.04(精确穿山甲)将代码上传到Arduino Uno

发布时间:2020-07-16 09:47:58 所属栏目:Ubuntu 来源:互联网
导读:我已成功在 Sublime Text 2上安装了stino,但是当我尝试将代码上传到 Arduino Uno时,输出如下: Uploading /home/lucas/Arduino_Build/programa_teste/programa_teste.hex to Arduino Uno… avrdude: ser_open(): can’t open device “/dev/ttyACM0

我已成功在 Sublime Text 2上安装了stino,但是当我尝试将代码上传到 Arduino Uno时,输出如下:

Uploading /home/lucas/Arduino_Build/programa_teste/programa_teste.hex to Arduino Uno…
avrdude: ser_open(): can’t open device “/dev/ttyACM0”: Permission denied
ioctl(“TIOCMGET”): Inappropriate ioctl for device
[Stino – Error while uploading.]

我安装了Arduino IDE,它工作正常,只有Sublime Text无法上传代码.

好吧,正如@Bibhas所说,你的问题是/ dev / ttyACM0具有错误的权限,这与Arduino或sublime文本无关.这是Linux内核,默认情况下创建的字符设备没有用户权限.

但好的是它可以改变!

快速简便的解决方案是将当前用户添加到拨出组:

sudo adduser YOU dialout

您是您的用户名,然后注销并重新登录以将这些新权限传播到您的shell中.

暗示:

有一个更复杂的解决方案是创建一个udev规则,例如:

/etc/udev/rules.d/48-arduino.rules

SUBSYSTEM!="usb_device",ACTION!="add",GOTO="arduino_end"
SUBSYSTEM=="tty",ATTRS{idVendor}=="2341",ATTRS{idProduct}=="0036",MODE="660",GROUP="arduino",SYMLINK+="arduino.leonardo"
LABEL="arduino_end"

它创建了一个可由arduino组读写的/ dev / arduino设备,您需要创建(或者您可以使用完全正常的默认拨出组):

addgroup arduino
adduser YOU arduino

然后重新加载您的规则:

sudo udevadm control --reload-rules

关于第二个提示的好处是,当你拔掉你的arduino时,你不会奇怪地改变它的设备号,它会保留在名字上.如果您没有使用arduino leonardo,可以使用lsusb检查您的设备idvendor / idproduct:

% lsusb                
…                      ↓↓↓↓ ↓↓↓↓
Bus 006 Device 105: ID 2341:0036 Arduino SA 
…

HTH

(编辑:岳阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读