มีการพูดคุยเกี่ยวกับวูดูในคำตอบในแง่คิดดีๆ มาลองทำความเข้าใจกับสิ่งที่เกิดขึ้นจริงให้มากขึ้นและสรุปสิ่งดีๆที่ควรตรวจสอบ:
โดยทั่วไปเมื่อเป็นเช่นนั้นคุณควรเปิดใช้งานโหมด 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 แล้วมันไม่ทำงานการที่คุณวางแหล่งจ่ายไฟบนพินดิจิทัลอาจทำให้ชิปของคุณไหม้ได้