ฉันใช้ Arduino UNO เพื่อตั้งโปรแกรมรูปเลขฐานสิบหกที่คอมไพล์ล่วงหน้าเป็น ATTINY45 โดยใช้ avrdude ในไดเรกทอรี Arduino IDE บน Windows 7 Uno มีร่าง ISP ที่โหลดจากไดเรกทอรีตัวอย่างและใช้งานได้กับ LED heartbeat พัลส์อย่างดี
ในด้านฮาร์ดแวร์ฉันมีการตั้งค่านี้ยกเว้น ATTINY ติดตั้งบนพื้นผิวเชื่อมต่อกับกระดานโต้คลื่นด้วยหมุดทั้งหมดที่ตรวจสอบแล้วบัดกรีด้วยโวลต์มิเตอร์ ฉันใช้แถบเฮดเดอร์พินซึ่งจับด้วยมือเพื่อให้พินแตะกระดานโต้คลื่นเพื่อรับสัญญาณจาก Uno ไปยัง ATTINY
นี่คือบรรทัดคำสั่งที่ฉันเอาจากการดูผลลัพธ์การดีบักของ IDE:
REM set the fuse for 8MHz, so the ISP programmer can work
C:\Progra~1\Arduino\hardware\tools\avr\bin\avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0xe2:m
REM load the program
C:\Progra~1\Arduino\hardware\tools\avr\bin\avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -Uflash:w:firefly.hex:i
REM set fuse for 1MHz, as the project requires
C:\Progra~1\Arduino\hardware/tools/avr/bin/avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0x62:m
- ฉันลองเรียกใช้แยกต่างหาก แต่รับข้อผิดพลาดนี้เสมอ:
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
แต่บางครั้งจำนวนคือ ff0000 หรือ ffff00 หรือ ffffff
ฉันอ่านว่า "Arduino ใช้ avrdude รุ่นที่แก้ไขเล็กน้อยเพื่ออัปโหลดภาพร่างไปยังบอร์ด Arduino รุ่นมาตรฐานจะค้นหาลายเซ็นอุปกรณ์ของบอร์ดในลักษณะที่ bootloader ไม่เข้าใจซึ่งทำให้เกิดข้อผิดพลาดนี้" นี่หมายความว่าการใช้ Arduino avrdude กับชิป ATTINY ใหม่ซึ่งไม่มี bootloader อยู่นั้นจะทำให้เกิดข้อผิดพลาดเดียวกันได้หรือไม่ กล่าวอีกนัยหนึ่งคือ avrdude ที่ได้รับการแก้ไขไม่สามารถทำการค้นหาชิพ AVR ที่ไม่ใช่ของ Arduino-bootloaded ได้หรือไม่?
หรือข้อผิดพลาดนั้นก็หมายความว่าฉันไม่ได้ติดต่อที่ดีระหว่างหมุดโปรแกรมเมอร์ของฉันและ ATTINY?
และจำเป็นต้องตั้งค่าฟิวส์อย่างแท้จริงหรือไม่โปรแกรม Uno สามารถแฟลชเข้าไปใน attiny ที่ทำงานที่ 1MHz และช่วยฉันได้ไหม?
(ฉันเพิ่งจะซื้อโปรแกรมเมอร์ "ของจริง" แต่ต้องได้รับรหัสนี้ในอีกสองวันข้างหน้าและอยู่ในเขตชนบทของ Nova Scotia)
-carduino
ไม่ใช้stk500 เพียงลองอัปโหลดโปรแกรมกะพริบไปยัง attiny จาก IDE ด้วยวิธีนี้คุณจะเห็นบรรทัดคำสั่งที่ถูกต้องที่ด้านล่างหากคุณเปิดใช้งาน "เอาท์พุท verbose" ในการตั้งค่า
-c avrisp
ลองตั้งค่าโปรแกรมเมอร์ที่จะ ฉันคิดว่าคุณสามารถตั้งโปรแกรมที่ 1 MHz ได้โดยไม่มีปัญหา