วิธีแก้ไข: avrdude: ser_open (): ไม่สามารถเปิดอุปกรณ์บน Arduino

ในบทความนี้ฉันจะอธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปใน Arduino:

avrdude: ser_open (): ไม่สามารถเปิดอุปกรณ์ "/ dev / ttyACM0": ปฏิเสธการอนุญาต

พื้นหลัง

หลังจากไม่ได้ใช้ Arduino เป็นเวลานานฉันได้ใส่สองเม็ดมีด (ของแท้และไฟล์ Elegoo) เพื่อทำกิจกรรมบางอย่างกับลูกสาวของฉัน ฉันเชื่อมต่อพวกเขาฉันจะแทรกการกะพริบเพื่อดูว่าทุกอย่างเรียบร้อยดีและเมื่อฉันส่งไปที่บอร์ดมันจะส่งกลับข้อผิดพลาดที่รู้จักกันดี

Arduino: 1.8.5 (Linux), การ์ด: "Arduino / Genuino Uno" avrdude: ser_open (): ไม่สามารถเปิดอุปกรณ์ "/ dev / ttyACM0": ปฏิเสธการอนุญาตปัญหาในการอัปโหลดไปยังบอร์ด ไปที่ http://www.arduino.cc/en/Guide/Troubleshooting#upload สำหรับคำแนะนำ

ทั้งบนพีซีและแล็ปท็อปของฉันฉันติดตั้ง Ubuntu 18.04 แล้ว

ทางออก

ฉันเริ่มต้นด้วยการทำตามไฟล์ ลิงค์ที่คุณแนะนำฉัน. และฉันทำตามขั้นตอน

En เครื่องมือ / จาน Arduino / Genuino Uno ถูกเลือก

สมัครรับข้อมูลรายชื่ออีเมลของเรา

En เครื่องมือ / พอร์ตอนุกรม / dev / ttyACM0

ปัญหา arduino avrdude ide

และตามเอกสารแนะนำในกรณีที่มีปัญหากับไดรเวอร์และสิทธิ์ฉันเปิดเทอร์มินัลและดำเนินการ:

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

ที่ไหน yourUserName คือชื่อผู้ใช้ของคุณ

ตอนนี้ฉันออกจากระบบและเข้าสู่ระบบอีกครั้ง และในกรณีที่ฉันรีสตาร์ทพีซี / แล็ปท็อป

มันยังใช้ไม่ได้สำหรับฉันและเอกสาร Arduino ก็ไม่ช่วยอีกต่อไป ฉันจึงมองหาในฟอรัมและบล็อกต่างๆ ถ้า ณ จุดนี้มันไม่ได้ผลสำหรับคุณและคุณเป็นเหมือนฉัน ทำตามขั้นตอนต่อไป

ls / dev / ttyACM0 ส่งคืน / dev / ttyACM0
ls -l / dev / ttyACM0 ส่งคืน crw-rw—- 1 root dialout 166, 0 26 พฤศจิกายน 16:41 / dev / ttyACM

ด้วยเหตุนี้เราจึงยืนยันว่ามีพอร์ตอยู่

เราจะให้สิทธิ์และตรวจสอบว่าผู้ใช้ของเรามีสิทธิ์ที่จำเป็นหรือไม่

 sudo chmod a+rw /dev/ttyACM0
 id devuelve 20(dialout) 

และฉันเห็นว่าผู้ใช้อยู่ในกลุ่ม dialout ดังนั้นส่วนนี้เราทำให้ถูกต้อง

สิ่งที่ได้ผลสำหรับฉันคือการติดตั้ง Arduino ใหม่

หากคุณตรวจสอบ

which avrdude

และไม่ส่งคืนสิ่งที่ติดตั้ง Arduino ใหม่ควรได้รับการแก้ไข

sudo apt install --reinstall arduino

และหากคุณไม่สามารถแก้ปัญหาได้โปรดแสดงความคิดเห็นและเราจะพยายามช่วยคุณ

AVRDUDE Troubleshooting Tool

มี สคริปต์ที่พวกเขาเตรียมไว้เพื่อแก้ไขปัญหานี้. คุณสามารถลองดูว่ามันช่วยคุณได้หรือไม่ ฉันไม่ได้ใช้มัน แต่ฉันทิ้งมันไปเพราะฉันคิดว่ามันสามารถเป็นทรัพยากรที่มีประโยชน์ได้

AVRDUDE

ฉันฝากข้อมูลเล็กน้อยเพื่อทำความเข้าใจให้ดีขึ้นว่า AVRDUDE คืออะไร ชื่อนี้มาจาก AVRDUDE - AVR Downloader / UploaDEr

AVRDUDE เป็นยูทิลิตี้สำหรับดาวน์โหลด / โหลด / จัดการเนื้อหา ROM และ EEPROM ของไมโครคอนโทรลเลอร์ AVR โดยใช้เทคนิคการเขียนโปรแกรมในระบบ (ISP)

https://www.nongnu.org/avrdude/

AVRDUDE เริ่มต้นโดย Brian S. Dean ในฐานะโครงการส่วนตัวในฐานะโปรแกรมเมอร์สำหรับไมโครคอนโทรลเลอร์ Atmel AVR series

คุณสามารถค้นหาซอฟต์แวร์และข้อมูลเพิ่มเติมได้ในไฟล์ เว็บไซต์โครงการ.

1 ความคิดเห็นเกี่ยวกับ "Solution: avrdude: ser_open (): can't open device on Arduino"

  1. ฉันมีปัญหากับ arduino มันไม่สื่อสารกับ ide หรือในทางกลับกันฉันมีการกำหนดค่าทุกอย่างไว้อย่างดีแผ่นพอร์ตทั้งหมด ฯลฯ ... ฉันดาวน์โหลดฟลิปมาแล้ว แต่ฉันไม่รู้ว่ามันทำงานอย่างไรในการโหลดเฟิร์มแวร์ที่ฉันคิดว่าเป็น มีอะไรผิดพลาดคุณสามารถมีรายละเอียดเพิ่มเติมเล็กน้อยเกี่ยวกับวิธีการติดตั้ง arduino ใหม่ขอบคุณฉันยังใหม่กับสิ่งนี้

    คำตอบ

แสดงความคิดเห็น