Arduino串口COM1问题

Arduino串口COM1问题

我买了一个Arduino Uno并安装了 Arduino IDE 1.6.5。但是当我想将草图上传到 Arduino 板时,我收到此错误:

avrdude: ser_open(): 无法打开设备“COM1”: 没有此文件或目录
ioctl(“TIOCMGET”): 设备的 ioctl 不合适

我正在使用 Ubuntu 14.04 (Trusty Tahr) LTS。

    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 | tail显示:

    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!

我怎么解决这个问题?

答案1

  1. 连接您的 Arduino 硬件。打开 Arduino IDE。

  2. 转到“工具”。

  3. 前往“港口”。

  4. 选择Arduino连接的端口。(如果除了Arduino之外没有连接其他外部驱动器,则只有一个端口)

    这将告诉 Arduino IDE 你的硬件连接到哪个端口。之后,你将能够成功上传你的草图

答案2

如果你在 Ubuntu 上运行 Arduino IDE(我使用的是 Arduino 1.5.7 和 Ubuntu 14.04),很可能无法上传到 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 板检测到的设备。

第一行将组(拨出)添加到用户名
第二行对“/dev/ttyUSB0”执行写入和读取权限

答案3

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

sudo chmod a+rw /dev/ttyUSB0

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

答案4

改变lib/首选项.txt文件:

来自的字符串

串行端口=COM1

串行.端口=/dev/ttyUSB0

相关内容