Arduino串口COM1问题


18

我买了一个Arduino Uno并安装了Arduino IDE 1.6.5,但是当我想将一个skecht上传到Arduino开发板时,会出现以下错误:

avrdude: ser_open(): can't open device "COM1": No such file or directory

ioctl(“ TIOCMGET”):设备不正确的ioctl

我正在使用Ubuntu 14.04LTS

    hakan@hakan-pc:~$ ls -l /dev/ttyUSB0
ls: /dev/ttyUSB0'e erişilemedi: Böyle bir dosya ya da dizin yok(In English: No such a file like this)




 hakan@hakan-pc:~$ ls -l /dev/ttyS0
crw-rw-rw- 1 root dialout 4, 64 Tem  8 22:40 /dev/ttyS0

Arduino插入计算机dmesg时| 尾巴 :

    hakan@hakan-pc:~$ dmesg | tail
[   21.784795] sound hdaudioC1D3: hda-codec: out of range cmd 3:5:707:ffffffff
[   21.784969] sound hdaudioC1D3: hda-codec: out of range cmd 3:5:707:ffffffbf
[   21.786110] sound hdaudioC1D0: hda-codec: out of range cmd 0:5:707:ffffffff
[   21.792705] sound hdaudioC1D0: hda-codec: out of range cmd 0:5:707:ffffffff
[   26.849759] sound hdaudioC1D0: hda-codec: out of range cmd 0:5:707:ffffffbf
[   27.515096] init: Failed to spawn nvidia-persistenced main process: unable to execute: No such file or directory
[   43.647261] audit: type=1400 audit(1436384452.263:72): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/cups/backend/cups-pdf" pid=2246 comm="apparmor_parser"
[   43.647270] audit: type=1400 audit(1436384452.263:73): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/cupsd" pid=2246 comm="apparmor_parser"
[   43.647654] audit: type=1400 audit(1436384452.267:74): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/cupsd" pid=2246 comm="apparmor_parser"
[   87.513268] systemd-hostnamed[2572]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!

我怎么解决这个问题?


dmesg代码不包含有关插入arduino板的信息...请使用相关的arduino板进行更改。顺便说一句,LANG=C在命令前添加英文错误消息。
Rmano

您如何在Linux上获得COM1。Windows就是这样命名的
ps95

prakharsingh95是的,我知道,但我不明白为什么将其视为COM1。无论如何,在/ dev目录中都没有类似COMx或ttyACMx的东西。只有tty(x)和ttyS(x)。
哈坎·奥尔曼奇

Answers:


21
  1. 连接您的Arduino硬件。打开Arduino IDE。
  2. 转到“工具”。
  3. 转到“端口”。
  4. 选择要连接Arduino的端口。(如果除Arduino外没有其他外部驱动器连接,则只有一个端口)

    这将告诉Arduino IDE您的硬件连接到的端口。之后,您将可以成功上传草图


2
它的(端口菜单)灰色..
哈坎Ormancı

2
@hakan尝试以根用户身份运行arduino。在终端写“ sudo arduino”
kashish

@kasnish我尝试过,但是没有用
HakanOrmancı15年

未选择端口,woohoo现在可以工作了,谢谢
RegarBoy

1
一个简单而完美的解决方案!!!救救我。我在终端中尝试了许多其他命令,这些命令没有改变我的进度。非常感谢。
Shanki Bansal'9

8

如果您在Ubuntu(在我的情况下是Arduino 1.5.7和Ubuntu 14.04)上运行Arduino IDE,则很可能由于以下错误而无法上传到Arduino板:

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

要修复它,请输入命令:

$ sudo usermod -a -G dialout <username>
$ sudo chmod a+rw /dev/ttyUSB0

您在Ubuntu中的用户名在哪里,/ dev / ttyUSB0是Arduino板中检测到的设备。


2

我在使用Arduino Uno的Ubuntu 14.04上遇到了相同的错误。对我有用的是,首先在“工具”>“端口”下选择适当的端口,然后使用以下命令更改端口的权限:

sudo chmod a+rw /dev/ttyUSB0

然后错误消失了,我可以上传了。


我遇到了此错误,Caused by: jssc.SerialPortException: Port name - /dev/ttyACM0; Method name - openPort(); Exception type - Permission denied. 因此必须使用您的sudo chmod a+rw /dev/ttyACM0 魔术,但是没有帮助。因此,我不得不使用此命令sudo adduser <username> dialout,然后注销/登录以使工作正常
Dimitry K,

1

我在Ubuntu 14.04和1.0.5版本的IDE中收到了相同的消息。

加载FTDI芯片D2XX驱动程序可以解决此问题(只需下载并遵循自述文件安装)。串行端口可用,并且还能够成功上传到UNO。



0
  1. USB端口的权限
    作为Linux用户,您需要成为群组拨出的成员,才能读取和写入任何/dev/tty*连接。
    因此,使连接成为世界可写以root用户身份运行Arduino IDE 都不是可行的方法。
    将您的用户添加到组拨出并随后重新登录就足够了:

    sudo adduser *username* dialout
  2. USB连接COM1
    Arduino IDE是用Java编写的,但可能仍取决于操作系统。您是否有可能在Linux系统上使用了IDE的Windows zip软件包?

  3. USB连接常规
    显然您的计算机无法识别到Arduino的USB连接。尽量避免使用某些显示器提供的USB集线器或USB插座,请使用直接连接。


0

在Kubuntu 18.04上,软件包arduino给出了类似的问题。我的解决方法是从arduino网站获得一个。只需解压缩并制作./arduino即可启动它。它工作正常。再见世界

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.