Arduino Serial Port COM1 Problem


18

Saya membeli Arduino Uno dan menginstal Arduino IDE 1.6.5 Tetapi ketika saya ingin mengunggah skecht ke papan Arduino, saya menerima kesalahan ini:

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

ioctl ("TIOCMGET"): ioctl yang tidak pantas untuk perangkat

Saya menggunakan 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

Sementara Arduino dicolokkan ke komputer dmesg | ekor:

    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!

Bagaimana saya bisa mengatasi masalah ini?


The dmesgkode tidak berisi informasi tentang memasukkan papan Arduino ... silahkan mengubahnya dengan yang relevan. Ngomong-ngomong, mengawali LANG=Cdengan sebuah perintah akan memberi Anda pesan kesalahan dalam bahasa Inggris.
Rmano

Bagaimana Anda mendapatkan COM1 di Linux. Begitulah cara nama Windows
ps95

prakharsingh95 ya saya tahu tetapi saya tidak mengerti mengapa dilihat sebagai COM1.Anyway dalam direktori / dev tidak ada yang seperti COMx atau ttyACMx. Hanya ada tty (x) dan ttyS (x).
Hakan Ormancı

Jawaban:


21
  1. Hubungkan perangkat Arduino Anda. Buka IDE Arduino.
  2. Buka "Alat".
  3. Pergi ke "Port".
  4. Pilih port yang terhubung Arduino. (Jika tidak ada drive eksternal yang terhubung kecuali Arduino, hanya akan ada satu port)

    Ini akan memberi tahu Arduino IDE port yang terhubung dengan perangkat keras Anda. Setelah itu, Anda akan dapat mengunggah sketsa Anda dengan sukses


2
Ini (menu port) berwarna abu-abu ..
Hakan Ormanci

2
@akan mencoba menjalankan arduino sebagai root. di terminal tulis "sudo arduino"
kashish

@kasnish ​​saya mencoba tetapi tidak berhasil
Hakan Ormancı

Tidak memilih port, Woohoo sekarang berfungsi, terima kasih
RegarBoy

1
solusi yang sederhana & sempurna !!!! Simpan hari saya. Saya mencoba banyak perintah lain di terminal yang tidak membuat perubahan dalam kemajuan saya. Terima kasih banyak.
Shanki Bansal

8

Jika Anda menjalankan Arduino IDE di Ubuntu (Arduino 1.5.7 dan Ubuntu 14.04 dalam kasus saya), kemungkinan besar Anda tidak dapat mengunggah ke papan Arduino, yang disebabkan oleh kesalahan:

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

Untuk memperbaikinya, masukkan perintah:

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

Di mana nama pengguna Anda di Ubuntu, / dev / ttyUSB0 adalah perangkat yang terdeteksi dari papan Arduino Anda.


2

Saya mendapatkan kesalahan yang sama pada Ubuntu 14.04 dengan Arduino Uno. Apa yang berhasil bagi saya adalah pertama-tama memilih port yang sesuai di bawah Tools> Port dan kemudian mengubah izin port menggunakan perintah seperti:

sudo chmod a+rw /dev/ttyUSB0

Kemudian kesalahan itu hilang dan saya bisa mengunggahnya dengan baik.


Saya memiliki kesalahan ini Caused by: jssc.SerialPortException: Port name - /dev/ttyACM0; Method name - openPort(); Exception type - Permission denied. Jadi harus menggunakan sudo chmod a+rw /dev/ttyACM0 sihir Anda , tetapi TIDAK MEMBANTU. Jadi saya harus menggunakan gunakan perintah ini sudo adduser <username> dialoutdan kemudian logout / login untuk membuat semuanya berfungsi
Dimitry K

1

Saya menerima pesan yang sama di Ubuntu 14.04 dan versi 1.0.5 dari IDE.

Memuat chip FTDI D2XX Drivers menyelesaikan masalah (baru saja mengunduh dan mengikuti pemasangan readme). Serial Port tersedia dan juga berhasil diunggah ke UNO.


1

Ubah string file lib / preferences.txt dari serial.port = COM1 ke serial.port = / dev / ttyUSB0


0
  1. Hak akses pada port USB
    sebagai pengguna Linux Anda harus menjadi anggota kelompok dialout untuk dapat membaca dan menulis untuk setiap /dev/tty*koneksi.
    Dengan demikian, membuat koneksi bisa dituliskan dunia ATAU menjalankan Arduino IDE sebagai root bukanlah jalan yang harus ditempuh.
    Ini akan cukup untuk menambahkan pengguna Anda ke panggilan grup dan login kembali sesudahnya:

    sudo adduser *username* dialout
  2. Koneksi USB COM1
    IDE Arduino ditulis dalam Java, tetapi mungkin masih tergantung pada OS. Apakah Anda menggunakan paket zip Windows IDE pada Sistem Linux?

  3. Koneksi USB umum
    Jelas komputer Anda tidak mengenali koneksi USB ke Arduino. Cobalah untuk menghindari USB-Hub atau soket USB yang disediakan oleh beberapa monitor, gunakan koneksi langsung.


0

Pada Kubuntu 18.04 paket arduino memberikan masalah serupa. Solusi saya adalah mendapatkannya dari situs web Arduino. Cukup ekstrak dan buat ./arduino untuk meluncurkannya. Ini bekerja dengan baik. Selamat tinggal dunia

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.