ปัญหาการอัปโหลด Arduino Sketch - avrdude: stk500_recv (): โปรแกรมเมอร์ไม่ตอบสนอง


137

ฉันมี Arduino Duemilanove กับATmega328 ฉันกำลังทำงานบนUbuntu 12.04 (Pangolin ที่แม่นยำ) และเวอร์ชันของ Arduino IDE คือ 1.0 เมื่อเร็ว ๆ นี้ฉันพยายามอัปโหลดภาพร่างตัวอย่างบางส่วนลงไปเช่น Blink one อย่างไรก็ตามความพยายามของฉันไม่ได้ผลและส่งผลให้เกิดข้อผิดพลาดเดียวกันทุกครั้งที่ฉันลอง:

avrdude: stk500_recv (): โปรแกรมเมอร์ไม่ตอบสนอง

ผมได้เปิดใช้งาน/dev/ttyUSB0ภายใต้เมนูToolsSerial Port ฉันได้เลือกบอร์ดที่ถูกต้องด้วย (Duemilanove with ATmega328) จากรายการ แต่ฉันไม่สามารถแก้ไขปัญหานี้ได้ ฉันได้ค้นหาทางออนไลน์เช่นกันและดูเหมือนว่าไม่มีคำตอบอื่น ๆ สำหรับปัญหานี้สำหรับฉัน เหตุใดฉันจึงพบปัญหานี้และจะแก้ไขได้อย่างไร

ฉันยังลองเปลี่ยน ATmega ออนบอร์ดและติดตั้งในทิศทางอื่น ตอนนี้ฉันไม่พบปัญหาในการอัปโหลด แต่ไม่มีอะไรเกิดขึ้นในภายหลัง ไฟ LED ออนบอร์ดดูเหมือนจะไม่กะพริบ


ตัดการเชื่อมต่อ RST จาก GND บนบอร์ด Arduino uno ฉันทำตามบทช่วยสอนนี้และลืมที่จะเลิกทำ
ArtiomLK

อาจเป็นเพราะกำหนดอัตรารับส่งข้อมูลผิด (อาจสูงเกินไป)
Konrad Gajewski

คำตอบ:


110

ฉันมีปัญหากับ Crowduino ซึ่งเรียกใช้ Arduino IDE บน OS X วิธีแก้ปัญหาสำหรับฉันคือเปิดเอาต์พุต verbose ระหว่างการอัปโหลด (ในบานหน้าต่างการตั้งค่า Arduino IDE)

จากนั้นเมื่ออัปโหลดคุณจะเห็นAVRDUDEส่งแพ็กเก็ตสามชุดavrdude: Send: 0 [30] [20](พร้อมกะพริบ RX ที่เกี่ยวข้องบนบอร์ด) ก่อนเกิดavrdude: ser_recv(): programmer is not respondingข้อผิดพลาด

เคล็ดลับคือกดปุ่มรีเซ็ตบนบอร์ดทันทีก่อนที่จะส่งแพ็กเก็ตทั้งสามนี้ จากนั้นโปรแกรมจะอัพโหลดสำเร็จ


2
อย่างน้อยก็ช่วยแก้ปัญหาให้ฉันได้ คุณคิดออกได้อย่างไร?
SlackOverflow

8
@daniele คนอื่นสังเกตว่าถ้าคุณรีเซ็ตหลังจาก X วินาทีมันก็ใช้ได้ ฉันคิดว่าแพ็คเก็ตมีความพยายามในการจับมือ โดยพื้นฐานแล้วฉันแก้ไขโดยใช้ Google ความอดทนและการเล่นกระดานโต้คลื่น!
hoipolloi

ฉันลองรีเซ็ตและใช้งานได้หนึ่งครั้ง แต่จนกระทั่งฉันอ่านสิ่งนี้ฉันไม่รู้เวลาที่เหมาะสมที่จะทำขอบคุณ
Ulises Layera

4
FYI - ฉันต้องติดตั้งไดรเวอร์ FTDI ล่าสุดเพื่อแก้ไขปัญหานี้อย่างถาวร
Scott Silvi

2
การอัปเดตไดรเวอร์ FTDI และการรีสตาร์ท Arduion ช่วยฉันได้ (MacOS 10.9.4, Arduino Nano 328)
peetonn

82

ตรวจสอบให้แน่ใจว่าไม่มีอินพุตบนพิน Tx / Rx จากนั้นมันจะทำงาน


1
สิ่งนี้ได้ผลสำหรับฉัน! ฉันมีโมดูลบลูทู ธ ที่เชื่อมต่อกับพิน RX / TX
johngreen

สิ่งนี้ได้ผลสำหรับฉัน ฉันต้องถอดปลั๊กสาย usb และรีสตาร์ท arduino เพราะฉันได้รับข้อผิดพลาดอีกครั้งหลังจากถอดปลั๊กพิน (และไฟเพื่อให้แน่ใจ)
oneindelijk

73

ฉันมีปัญหาเดียวกัน - นี่คือสาเหตุที่ฉันพบคำถามนี้

ฉันต้องเปลี่ยนโปรเซสเซอร์จาก“ ATmego328P” เป็น“ ATmego328P (Old Bootloader)” เท่านั้น

แก้ไขปัญหา - อย่างน้อยสำหรับฉัน

ป้อนคำอธิบายภาพที่นี่


เฮ้ฉันจะหาแผงการเลือกโปรเซสเซอร์ใน IDE ใหม่ได้ที่ไหน
มูฮัมหมัดอาลี

3
@MuhammadAli: ฉันเพิ่งเพิ่มภาพหน้าจอเพื่อตอบคำถามของคุณ
Edgar

อวยพรคุณนั่นก็เป็นปัญหาของฉันเช่นกัน
ofekp

2
ปัญหานี้อาจปรากฏขึ้นหากคุณใช้บอร์ด ELEGOO NANO วิธีแก้ปัญหาเดียวกันนี้ได้กล่าวไว้ในเอกสาร FAQ ด้วย
chetan92

1
หากบอร์ดเป็น Arduino nano และได้รับการผลิตก่อนหน้านี้ในเดือนมกราคม 2018 เพียงแค่เลือก Processor> "ATmega328P (Old Bootloader)" จะทำเคล็ดลับ ( arduino.cc/en/Guide/ArduinoNano#toc4 )
Bit-Man

48

มีการพูดคุยเกี่ยวกับวูดูในคำตอบในแง่คิดดีๆ มาลองทำความเข้าใจกับสิ่งที่เกิดขึ้นจริงให้มากขึ้นและสรุปสิ่งดีๆที่ควรตรวจสอบ:

โดยทั่วไปเมื่อเป็นเช่นนั้นคุณควรเปิดใช้งานโหมด verbose สำหรับAVRDUDEเพื่อให้เข้าใจถึงสิ่งที่เกิดขึ้นได้ดีขึ้น ในการดำเนินการนี้คุณจะต้องเข้าไปที่การตั้งค่าและทำเครื่องหมายที่ช่อง นอกจากนี้คุณควรย้ายออกจาก Arduino IDE และเปิดคอนโซลเพื่อความสะดวกในการอ่านเอาต์พุตของ AVRDUDE ซึ่งคุณจะได้รับเมื่อคลิกที่uploadปุ่ม

สิ่งสำคัญที่จะต้องใส่ 3 หรือ 4 -vในการเรียกคำสั่ง นี่คือลักษณะของคำสั่ง AVRDUDE ดังกล่าวโดยมีพารามิเตอร์ที่สร้างขึ้นเนื่องจากขึ้นอยู่กับวิธีการติดตั้ง Arduino:

avrdude -v -v -v -v -C /path/to/avrdude.conf -patmega328 -P/dev/usbport -U flash:w:/path/to/firmware.hex

วิธีที่ดีในการรับบรรทัดคำสั่งที่ถูกต้องเพื่อใช้คือการคัดลอกจากเอาต์พุต verbose ของบันทึกเอาต์พุต Arduino IDE เมื่อเปิดใช้งาน verbosity

เมื่อคุณได้รับavrdude: stk500_recv(): programmer is not respondingหมายความว่ามีบางอย่างผิดปกติเกิดขึ้นก่อนที่การกะพริบจะเริ่มขึ้นจริง

โดยทั่วไปคุณต้องตรวจสอบ (ตั้งแต่ฮาร์ดแวร์ไปจนถึงซอฟต์แวร์ระดับต่ำไปจนถึงระดับสูง):

  • หากสายเคเบิลและ / หรือขั้วต่อไม่มีไมโครช็อต
  • หากไม่มีจุดบัดกรีที่ลัดวงจร (เช่นสัมผัสกับโลหะรอบ ๆ ) นั่นหมายความว่า:
    • หากไม่มีการลัดวงจรบน PCB ระหว่างRxและTx(โดยปกติจะเป็นหมุด1และ0)
    • หากไม่มีการสัมผัสกับชิ้นส่วนโลหะด้านล่างบอร์ดหรือมีเศษเล็ก ๆ ระหว่างขาของส่วนประกอบ (เช่น FTDI ชิปATmegaหรืออื่น ๆ )
  • ถ้าชิป ATmega ไม่หมดไฟ ( ทางลัดGND / V CCหรือตัดหรืออินพุตV CCตาย ... );
  • หากโล่1และ0หมุดของ Arduino ไม่ได้ถูกใช้โดยโล่หรือการออกแบบที่กำหนดเอง ( /!\ใช้ไม่ได้กับLeonardoเนื่องจากมีการจัดการ USB ที่เป็นอิสระ)
  • หากตัวแปลง USB เป็น UART ไม่มีปัญหา ( FTDIบน Duemilanove รุ่นเก่าหรือ ATmega16U2 บน Arduino Unos รุ่นใหม่)
  • หากชิปATmega328ทอดหรือติดตั้งผิด
  • ถ้า bootloader ถูกเขียนทับหรือล้มเหลว
  • หากใช้ baudrate ที่ถูกต้องเพื่อเข้าสู่ bootloader
  • หากมีการตั้งค่าที่เหมาะสมสำหรับไมโครคอนโทรลเลอร์เป้าหมายและบอร์ด

โดยปกติavrdude -v -v -v -vสามารถช่วยได้มากในขั้นตอนที่มันล้มเหลว ไม่ว่าจะไม่สามารถทำการเชื่อมต่อ USB ได้เลย (สายขาด, USB / UART, PCB ... ) หรือเป็นปัญหา bootloader

อัปเดต : ฉันลองเปลี่ยน ATmega ออนบอร์ดแล้วติดตั้งในทิศทางอื่น ตอนนี้ฉันไม่พบปัญหาในการอัปโหลด แต่ไม่มีอะไรเกิดขึ้นในภายหลัง ไฟ LED ออนบอร์ดดูเหมือนจะไม่กะพริบ

ฉันกลัวว่าถ้าคุณกลับตำแหน่งของ ATmega แล้วมันไม่ทำงานการที่คุณวางแหล่งจ่ายไฟบนพินดิจิทัลอาจทำให้ชิปของคุณไหม้ได้


BTW เอาต์พุต Arduino มีเป็นบรรทัดสุดท้าย (ก่อนเริ่มการอัปโหลด) เส้นทางไปยัง avrdude เส้นทางไปยังการกำหนดค่าและเส้นทางไปยังไฟล์แฟลช สามารถคัดลอกวางลงในบรรทัดคำสั่งได้อย่างง่ายดายและเพิ่ม -v
powtac

อันที่จริงแล้ว iirc (ฉันแทบไม่เคยใช้ UI ที่น่ากลัวเลย) คุณต้องเปิดใช้งานเอาต์พุตแบบ verbose ในการตั้งค่า
zmo

1
สำหรับฉันสิ่งนี้เกิดขึ้นเนื่องจากฉันตั้งค่าอัตรารับส่งข้อมูลไม่ถูกต้องในการกำหนดค่า eclipse avrdude คิดออกเมื่อฉันเห็น commandline บน arduino IDE
Tejas Kale

avrdude: no programmer has been specified on the command line or the config file Specify a programmer using the -c option and try again
basickarl

แก้ไข:avrdude -v -v -v -v -C/etc/avrdude.conf -patmega328 -carduino -P/dev/ttyACM0 -U flash:w:~/Arduino/WebServer/WebServer.ino.standard.hex
basickarl

22

ลองดูว่าบอร์ดของคุณเลือกถูกต้องหรือไม่ คลิกที่เมนู Tools -> Board และตรวจสอบว่าเลือกบอร์ดที่ถูกต้องหรือไม่


1
นี่คือสำหรับฉัน ฉันใช้ Uno จนทอดและได้ Mega ใหม่ Mega ใหม่ล่าสุดเห็นปัญหานี้ ฉันไม่รู้ด้วยซ้ำว่ามีเมนูนี้อยู่ ขอบคุณ!
Mike

ไม่ใช่อย่างนั้น แต่ไม่ได้เลือกซีเรียลที่ถูกต้อง... มีบางอย่างที่ต้องคิด! ขอบคุณ!
heltonbiker

ฉันจะรู้ได้อย่างไรว่าบอร์ดใดเข้ากันได้กับ Arduino ของฉัน
turmuka

12

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

หากไม่มีอะไรเสียบอยู่อาจเป็นข้อผิดพลาดกับAVRDUDEคุณสามารถลองอัปเดตได้


3
ไม่มีสิ่งใดที่เชื่อมต่อกับ 0 และ 1 avrdudeได้รับการอัปเดตและเป็นเวอร์ชันล่าสุด
Pastafarian

ฉันไม่มีกระดานอื่น :( แม้ว่าจะมีข้อผิดพลาดที่คล้ายกันเกิดขึ้นบน Windows แต่อาจเป็นปัญหากับบอร์ดได้
Pastafarian

ใช่นั่นคือสิ่งที่ฉันจะบอก ... คุณสามารถลองใช้Serial.println()ตัวอย่างเพื่อตรวจสอบว่าไม่ใช่แค่ไฟล์led 13.
ladislas

10

ฉันพบปัญหานี้เช่นกันและฉันแก้ไขได้โดยการติดตั้งไดรเวอร์อนุกรม USB ใหม่ โปรดดู: http://arduino.cc/en/Guide/Howtoและhttp://www.ftdichip.com/Drivers/VCP.htm


1
เมื่อใดก็ตามที่ฉันใช้ Arduino Duemilanove ATMega328 ฉันมักจะลืมทำสิ่งนี้และตรวจสอบด้วยว่าได้เลือกบอร์ดที่ถูกต้องในแอป Arduino แล้ว (ภายใต้เครื่องมือ ณ 1.0.6
แอนดรู

1
หากคุณเพิ่งติดตั้ง arduino IDE คำตอบนี้ (เป็นไปได้มากที่สุด) คือสิ่งที่คุณกำลังมองหา!
Zaxter

5

ข้อผิดพลาดข้างต้นมี 3 ขั้นตอน

  1. หากบูตโหลดเดอร์ขัดข้อง
  2. หากคุณไม่ได้เลือกพอร์ตที่เหมาะสมและบอร์ดที่เหมาะสมจาก IDE
  3. หากคุณสื่อสารกับพอร์ต Serial อื่นเชื่อมต่ออยู่ Ie GND และ Tx พินเชื่อมต่อกับอุปกรณ์สื่อสารอื่น

ในกรณีของฉันฉันเลือกบอร์ดผิด ขอบคุณแอมป์!
Jamshaid Kamran

4

ฉันมีปัญหาเดียวกันกับการลอง Arduino Uno ครั้งแรก

วิธีแก้ปัญหาของฉันค่อนข้างง่าย เพียงแค่เสียบปลั๊กแล้วเสียบสาย USB


3

ฉันโพสต์สิ่งนี้เนื่องจากฉันไม่พบคำตอบนี้จากที่อื่น โคลน Arduino nano chinese (CH340) ทั้งหมดของฉันมีปัญหานี้หลังจากอัปเกรดเป็น Arduino IDE เป็น 1.8.9 สิ่งที่ได้ผลสำหรับฉันคือการใช้ Arduino Uno สำรองอย่างเป็นทางการซึ่งฉันต้องเบิร์น bootloader บนนาโนที่ผิดพลาดโดยใช้ส่วนหัว ICSP บนนาโน สำหรับเรื่องนี้ทั้งหมดที่ผมทำก็คือทำตามคำแนะนำที่นี่: จีนโคลนของ Arduino นาโนที่มีชิป ch340g-วิธีที่จะแก้ไขมัน สิ่งเดียวที่ฉันทำแตกต่างออกไปคือตั้งค่าตัวเลือก "Old Bootloader" ตามที่กล่าวไว้ก่อนหน้านี้ในหัวข้อนี้เสมอ นอกเหนือจากนั้นฉันทำตามคำแนะนำในลิงก์นั้นอย่างสมบูรณ์และช่วยนาโนสของฉันจากปัญหาที่น่ารำคาญนั้น ฉันหวังว่าสิ่งนี้จะช่วยใครบางคนได้


3

ฉันแก้ไขปัญหาบนOS X v10.10 (Yosemite) ตามคำแนะนำเหล่านี้:

ชิป FTDI และ OS X 10.10

อย่างไรก็ตามเคล็ดลับที่เสนอโดย hoipolloiเป็นวิธีแก้ปัญหาชั่วคราวที่ใช้งานได้ในเวอร์ชันนี้ด้วย


สิ่งนี้ใช้ได้ผลกับฉันด้วยในวันที่ 10.10 หลังจากโพสต์นั้นฉันไม่ต้องทำขั้นตอนที่ 4, 5 หรือ 6 ตอนนี้ฉันสามารถอัปเดตสคริปต์โดยใช้ Arduino IDE ได้หลายครั้งโดยไม่ได้รับข้อผิดพลาดนั้น
dbainbridge

3

ในWindows 7ฉันประสบปัญหานี้หลายครั้งแต่ละครั้งมีข้อความแสดงข้อผิดพลาดต่างกัน โดยทั่วไป IDE กำลังส่งไปยังพอร์ตที่ไม่ถูกต้อง

ในการแก้ไขปัญหานี้เพียงไปที่เมนูเครื่องมือพอร์ต → [เลือกพอร์ต COM ที่บอร์ดของคุณเปิดอยู่]

อย่าลืมตรวจสอบพอร์ตบอร์ดของคุณอีกครั้ง:

  1. เริ่มตัวจัดการอุปกรณ์

    เมนูเริ่มต้น

  2. ตรวจสอบให้แน่ใจว่าไดรเวอร์ Arduino ของคุณอยู่ในรายการที่ตรงกับการตั้งค่าพอร์ตของ IDE ของคุณ (ดังกล่าวข้างต้น)

    ตัวจัดการอุปกรณ์

  3. COM1คณะกรรมการของฉันอยู่ภายใต้พอร์ต หากคุณต้องการคุณสามารถเปลี่ยนพอร์ตได้ในการตั้งค่าขั้นสูงของไดรเวอร์:

    ใส่คำอธิบายภาพที่นี่


2

ฉันมีปัญหานี้ใน Arduino ที่ทำงานบน Mac ด้วย มันเกิดขึ้นกับ Arduinos สองตัวของฉัน (Arduino Uno และ Arduino Pro ที่เชื่อมต่อกับ FTDI)

สำหรับ Uno ฉันเกี่ยวสายเคเบิลเข้ากับคอมพิวเตอร์ของฉันแล้วกดอัปโหลดจากนั้นเริ่มนับจนกระทั่งไฟ LED "TX" กะพริบ จากนั้นทำการอัปโหลดซ้ำ แต่ก่อนที่ไฟ LED TX จะกะพริบให้กดปุ่มรีเซ็ตและการอัปโหลดจะสำเร็จ

ในภายหลังฉันพบว่าการเปลี่ยนสาย USB ช่วยแก้ปัญหานี้


1
การเปลี่ยนสาย USB ที่แก้ไขให้ฉัน
Paul Bailey

1

ขั้นแรกตรวจสอบให้แน่ใจว่า / dev / ttyUSB0 ทำงานได้ เช่นเสียบเมาส์และตรวจสอบว่าใช้งานได้ อย่างที่สองลองเลือกบอร์ดอื่น บ่อยครั้งที่บอร์ดที่ไม่ใช่ต้นฉบับไม่ได้รับการยอมรับอย่างถูกต้องภายใต้ชื่อของพวกเขา ประการที่สามลองกดปุ่มรีเซ็ตด้วยตนเองขณะอัปโหลดร่าง น่าจะเป็นการรีเซ็ตอัตโนมัติเสีย


1

ฉันจะแก้ไขปัญหาในกรณีของฉันโดยการดาวน์โหลดและติดตั้งไดรเวอร์ FDTM เก่าจากที่นี่

ลองติดตั้งFTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkgแล้วเริ่ม Arduino ใหม่


ส่วนใหญ่ไม่เกี่ยวข้องกับปัญหาของ OP และไดรเวอร์ FTDI จะมีประโยชน์ก็ต่อเมื่อคุณมี Arduino 328 เท่านั้น
zmo

1

แค่คิดว่าฉันจะชี้ให้เห็นว่าบอร์ด Arduino Uno Rev3 ใหม่ของฉันใช้ไดรเวอร์ LInux ต่อไปนี้:

Device Drivers    
|-USB Drivers
  |-USB Modem (CDC ACM) support

สิ่งนี้เรียกว่าCONFIG_USB_ACM:ตัวเลือก: ในเคอร์เนล LInux 3.x ล่าสุด

จากนั้นอุปกรณ์นี้จะปรากฏเป็น: /dev/ttyACM0หรือคล้ายกัน


1

คุณมีอะไรเชื่อมต่อกับRESETพินบน Arduino หรือไม่?

ฉันพบปัญหานี้กับ LCD กราฟิกซึ่งจำเป็นต้องเชื่อมต่อกับRESETพิน การถอดสายจัมเปอร์ระหว่าง LCD และRESETพินในขณะที่อัปโหลดรหัสแก้ไขให้ฉันสิ่งที่คุณต้องทำคือเชื่อมต่อใหม่เมื่ออัปโหลดโค้ดเสร็จแล้ว


1

ฉันพบสาเหตุของสิ่งนี้ ...

การเปลี่ยนพอร์ตอนุกรมของฉันเป็น /dev/tty.usbmodem2131 แก้ไขได้ ปรากฎว่าฉันใช้พอร์ตอนุกรมผิดตลอดเวลา!


1

คุณสามารถลอง:

  • ตรวจสอบในการตั้งค่า txt serial.debug_rate: serial.debug_rate=9600
  • ลองกดปุ่มรีเซ็ต Arduino ของคุณเมื่ออัปโหลด
  • ลองเลือกการ์ดอื่นในเมนู Arduino IDE Toolsจากนั้นเลือกการ์ดของคุณในรายการอีกครั้ง

1

การรวมกันของคำตอบข้างต้นนี้ช่วยแก้ปัญหาให้ฉันได้:

  • ทำการอัพเดต Java:

    sudo apt-get install default-jdk

  • จากนั้นฆ่า Arduino IDE และรีสตาร์ท

  • บอร์ดที่ถูกต้องของฉันปรากฏขึ้นแล้ว (Arduino Mega 2560 ซึ่งก่อนหน้า Mega 1280 เป็นตัวเลือกเท่านั้น)

  • สำหรับไดรเวอร์ฉันทำสิ่งนี้:

    sudo chmod a+rw /dev/serial/by-id/usb-Arduino__www.arduino.cc__(a bunch of numbers)

หลังจากนั้น Arduino IDE ของฉันจะแสดง/dev/ttyACM0ในเมนูเครื่องมือ / พอร์ตอนุกรม

ตอนนี้ทุกอย่างทำงานได้ดี!


ขอบคุณ! JDK ไม่ก่อให้เกิดปัญหาในกรณีของฉัน แต่ sudo chmod a + rw / dev / serial / by-id / usb-Arduino ********** ทำงานได้
Artur Barseghyan

1

นี่คือวิธีแก้ปัญหาที่ใช้ได้ผลสำหรับฉันที่ทำงานบนMacBook Pro (เดสก์ท็อป)

ฉันได้รับข้อผิดพลาดเดียวกันและปรากฎว่าเป็นเพราะฉันเชื่อมต่อ USB กับอุปกรณ์ต่อพ่วง (จอภาพของฉัน) แทนที่จะเป็น USB บนพีซี มันหยุดข้อผิดพลาดทันทีและเป็นวิธีง่ายๆ


1

ขอบคุณ @hoipolloi สำหรับทิศทางที่ถูกต้องในการค้นหาวิธีแก้ปัญหา

อย่างไรก็ตามฉันต้องทำขั้นตอนที่แตกต่างกันเล็กน้อยเพื่อแก้ไขปัญหา

ในกรณีของฉัน Arduino Uno ทำงานได้ดี แต่จู่ๆก็หยุดลงหลังจากเล่นกับภาพร่าง ฉันได้รับstk500_recv(): programmer is not respondingตลอดเวลาและไม่มีอะไรทำงาน จากนั้นฉันก็ให้ความสนใจว่า LED 13 ติดอยู่บนบอร์ดตลอดเวลา ดูเหมือนว่าภาพร่างแบบวนซ้ำอย่างหนักกำลังวิ่งไปมาบนกระดานและกำลังปิดกั้นอินพุตใด ๆ ไปยังบอร์ด ไม่แน่ใจว่าเป็นแค่ของฉัน

ฉันลองคลิก RESET ในทุกช่วงเวลาที่เป็นไปได้โดยไม่มีโชคและลองทำตามขั้นตอนต่อไปนี้ทันที

  1. ถอดปลั๊กบอร์ด
  2. คลิก RESET ค้างไว้
  3. เสียบใหม่อีกครั้ง
  4. รอสองสามวินาที
  5. ปล่อยปุ่ม RESET

หลังจากนั้นฉันสังเกตเห็นว่าไฟ LED 13 ดวงบนเครื่องบินดับไปหนึ่งวินาทีแล้วเปิดขึ้นอีกครั้ง ดูเหมือนว่าจะมีหน้าต่างรีเซ็ตสั้น ๆ เมื่อบอร์ดกำลังถูกรีเซ็ต จากนั้นในการแก้ปัญหาของ @ hoipolloi ฉันพบช่วงเวลาของการ "รีเซ็ต" ก่อนที่จะส่งแพ็กเก็ตสามชุดและใช้งานได้

ฉันหวังว่านี่จะช่วยให้คุณทราบปัญหาหากไม่มีวิธีแก้ปัญหาอื่นใดที่ใช้ได้ผล

เคล็ดลับ หากคุณไม่เห็นสามSend: 0 [30] [20]บรรทัดเมื่ออัปโหลดร่างในคอนโซลของคุณให้ทำดังต่อไปนี้:

  1. คลิก "อัปโหลด" ใน Arduino IDE ของคุณ
  2. ดูที่หน้าต่างบันทึก คุณจะสามารถค้นหาบรรทัดดังนี้:

    E:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CE:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:\Users\Sergey\AppData\Local\Temp\build44ca75bc60fd83cc8ef41e35d4d83388.tmp/sketch_sep07a.ino.hex:i
    
  3. ดูเหมือนว่ามันกลืนเส้นแบ่งหรือสัญลักษณ์ช่องว่างแบบ-CE:\Program Files...นี้ -C E:\Program Filesมันควรจะเป็น คัดลอกสิ่งนี้ลงใน Notepad เพิ่มช่องว่างที่ขาดหายไปเพื่อให้บรรทัดนี้:

    E:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -v -v -v -v -C "E:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -patmega328p -carduino -PCOM3 -b115200 -D -U flash:w:C:\Users\Sergey\AppData\Local\Temp\build44ca75bc60fd83cc8ef41e35d4d83388.tmp/sketch_sep07a.ino.hex:i
    
  4. เพิ่ม 4 -vคำแนะนำเหมือนที่ฉันทำข้างต้น

  5. เปิด Command Line วางคำสั่งลงไปแล้วเรียกใช้

ตอนนี้คุณจะเห็น verbose มากขึ้นด้วย 4 -vอาร์กิวเมนต์ เดิม Arduino Studio ใช้เพียงอันเดียว


0

คุณได้ติดตั้ง / อัปเดตไดรเวอร์สำหรับสาย FTDI หรือไม่? (ขั้นตอนที่สามในhttp://arduino.cc/en/Guide/Howto ) การเรียกใช้ Arduino IDE จาก Raspberry Pi ของฉันทำงานได้ดีโดยไม่ต้องติดตั้งไดรเวอร์อย่างชัดเจน (ไม่ว่าจะติดตั้งไว้ล่วงหน้าหรือตัวติดตั้ง Arduino IDE ก็ดูแล) บน Mac ของฉันไม่เป็นเช่นนั้นและฉันต้องติดตั้งไดรเวอร์เคเบิลนอกเหนือจาก IDE


0

ฉันเพิ่งใช้เวลาไม่กี่ชั่วโมงที่ผ่านมากับปัญหาเดียวกันนี้ ... ไปที่นี่ " http://www.ftdichip.com/Drivers/VCP.htm " ดาวน์โหลดไดรเวอร์ล่าสุดและรีบูต ควรใช้งานได้ดีหลังจากนั้น ฉันยังดาวน์โหลดซอฟต์แวร์ Arduino ทุกคืน แต่ฉันไม่ได้เป็นอะไรที่สร้างความแตกต่าง


0

พยายามโหลดโปรแกรมที่ไม่มี -b (ตัวเลือกอัตรารับส่งข้อมูล) ใน ~ / .arduino15 / settings.txt set build.verbose = true เมื่อ arduino.cc ไม่ทำงาน ในเอาต์พุต verbose คุณจะพบไฟล์ hex ที่คุณควรโหลดจากคอนโซล:

avrdude -v -v -v -v -C/usr/share/arduino/hardware/tools/avr/etc/avrdude.conf -patmega328p -carduino -P/dev/ttyUSB2  -D -Uflash:w:/tmp/build2314497724350388190.tmp/sketch_nov13b.cpp.hex:i

ฉันเพิ่งเปลี่ยนชิป 128 ด้วยเวอร์ชัน 328 และจาก Decimile ชื่อบอร์ดของฉันเปลี่ยนเป็น Uno หรือ Ethernet เนื่องจากอัตราการส่งข้อมูลใหม่ 115200


0

หากคุณกำลังเชื่อมต่อ Arduino ผ่าน USB Hub ให้ลองเชื่อมต่อโดยตรงกับพอร์ต USB ใดพอร์ตหนึ่งบนเครื่อง Mac แทน
ที่ได้ผลสำหรับฉัน


0

ในกรณีของฉันปัญหาเกิดขึ้นเมื่อฉันพยายามทำนิพจน์เลขคณิต"แปลก ๆ "

เช่น (3.14 / 4) / 5 หรือ 3.15% 2.55

ดังนั้นฉันขอแนะนำให้คุณตรวจสอบนิพจน์ทางคณิตศาสตร์ทั้งหมดในกรณีที่ Arduino บางส่วนไม่สามารถคำนวณได้

หวังว่าจะช่วยได้


0

ในกรณีของฉัน (Mini Pro) วิธีแก้ปัญหานั้นง่ายมากไม่แน่ใจว่าฉันพลาดไปได้อย่างไร ฉันต้องการไขว้สาย rx / tx

วิธีการแก้:

  • ขา Arduino Rx ไปที่พิน FTDI Tx
  • ขา Arduino Tx ไปที่พิน FTDI Rx

0

สำหรับกรณีของฉันมันเป็นอัตราการส่งข้อมูลที่ไม่ถูกต้อง เรียกคำสั่งนี้ว่า

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 **-b57600** -D -Uflash:w:C:\Users\Vahid\AppData\Local\Temp\arduino_build_527841/AnalogReadSerial.ino.hex:i 

อย่างที่คุณเห็นอัตราการส่งข้อมูลถูกตั้งค่าเป็น 57600 เมื่อคุณลบอาร์กิวเมนต์นี้ (-b57600) และเรียกใช้ในบรรทัดคำสั่งมันก็ใช้ได้ดี


0

ปัญหาของฉันคือฉันอัปเดต Arduino IDE เป็นเวอร์ชันใหม่และไม่ได้เชื่อมต่อสายไฟใหม่ ดูเหมือนว่าจะเป็นปัญหา

เพียงแค่ถอดสายและเชื่อมต่ออีกครั้ง ขอบคุณ.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.