5

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

上传 /home/lucas/Arduino_Build/programa_teste/programa_teste.hex 到 Arduino Uno
... [Stino - 上传时出错。]

我安装了 Arduino IDE,它工作正常,只有 Sublime Text 不能上传代码。

4

3 回答 3

4

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

但好的是它可以改变!

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

sudo adduser YOU dialout

其中 YOU 是您的用户名,然后注销并重新登录以将这些新权限传播到您的 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"

它创建了一个/dev/arduino您需要创建的 arduino 组可读和可写的设备(或者您可以使用dialout非常好的默认组):

addgroup arduino
adduser YOU arduino

然后重新加载您的规则:

sudo udevadm control --reload-rules

第二个提示的好处是,当您拔下 arduino 时重新插入您的 arduino,您不会让它奇怪地更改设备编号,它将保留名称。如果您没有使用 arduino leonardo,您可以使用 lsusb 检查您的设备 idvendor/idproduct:

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

高温高压

于 2014-02-16T10:28:37.923 回答
0

我今天也有同样的问题,不可思议的事情发生了。USB 电缆为 Arduino 供电,但不允许通信。我们的解决方案是更换 USB 电缆,然后一切正常

于 2017-05-11T21:48:12.997 回答
0

根据故障排除文档,我使用

sudo usermod -a -G tty yourUserName
sudo usermod -a -G dialout yourUserName

解决我的问题。

于 2016-03-05T12:24:36.043 回答