คราวนี้มาซ่อม easy32u4 ที่ไม่ทำงานเพราะโปรแกรม fuse bit ผิดเป็น external clock ผมทำดังนี้ครับ
สร้างสัญญาน clock pulse จากบอร์ด atmega328p (ที่ทำขึ้นมาใหม่) ให้สัญญาน clock pulse ออกมาจากขา PD7 โดยโปรแกรมนี้ครับ
http://www.mediafire.com/file/it2rnxbwhaamtw4/clock1.rar AVR Studio 4.17
คราวนี้ใช้ saleae logic analyzer วัดปรับโปรแกรมจนได้สัญญาน clock pulse ที่ขา PD7 ออกมาได้ 500kHz พอดี เพราะเราต้องตั้งค่า ISP ของ mkII เป็น 125kHz ซึ่ง เป็น 1/4 ของสัญญาน clock พอดี
บัดกรีเอา crytal 16MHz บนบอร์ด easy32u4 ออกก่อน แล้วบัดกรีสายเข้าไปที่ XTAL1 เพื่อป้อน External clock จากขา PD7 ของบอร์ด atmega328p แล้วต่อ ground ถึงกันด้วย
เมื่อจ่ายไฟเข้าไป บอร์ด easy32u4 สามารถติดต่อกับ mkII ผ่านทาง avr studio 4.17 ได้แล้ว
คราวนี้ลองบอร์ด easy32u4 ด้วยโปรแกรมนี้
http://www.mediafire.com/file/udlb1j431j01pp8/blink1%282%29.rar ด้วย avr studio 4.17 + ISP mkII ตั้งโปรแกรม fuse bit low byte เป็น 0x62, Internal RC Oscillator 8MHz, CKDIV8 ได้ clock เป็น 1MHz แล้วโปรแกรม blink1.hex เข้าบอร์ด ปรากฎว่าไฟกระพริบสามารถทำงานได้ครับ
คราวนี้ต่อบัดกรี crytal 16MHz กลับคืนสู่บอร์ด easy32u4 ตั้งโปรแกรม fuse bit low byte เป็น 0xFF, clock เป็น Low Power Crystal Oscillator ได้ clock เป็น 16MHz แล้วโปรแกรม blink1.hex เข้าบอร์ด ปรากฎว่าไฟกระพริบก็สามารถทำงานได้เป็นปกติแล้วครับ
เสียตังไปซื้อ oscillator 2MHz มา ของเพิ่งจะถึงเลยไม่ได้ใช้งานเลย
สิ้นสุดปัญหาการตั้ง fuse bit ไปเสียที คราวนี้ก็ตั้ง fuse bit ได้แล้ว จะได้ทำอย่างอื่นกันต่อไป
