การใช้คริสตัล 16 MHz บน ATMega328p


10

ฉันจะต้องตั้งค่าฟิวส์ของฉันบน ATMega328p เพื่อใช้คริสตัล 16MHz ได้อย่างไร ฉันลองมันด้วยตัวเองและฆ่า atmega สุดท้ายที่ฉันมี ฉันต้องการคำแนะนำในครั้งนี้

คริสตัลที่ฉันใช้อยู่อันนี้

ฉันสมมติว่านี่คือ "Full Swing Crystal Oscillator" ตามที่ระบุไว้ในแผ่นข้อมูลดังนั้น CKSEL3..1 ควรเป็น 011

จากนั้นฉันต้องตั้งเวลาเริ่มต้น ฉันสมมติว่า "Crystal Oscillator พลังงานที่เพิ่มขึ้นอย่างช้าๆ" เป็นตัวเลือกที่ปลอดภัยกว่าดังนั้น CKSEL0 ควรเป็น 1 และ SUT1..0 ควรเป็น 11

ฉันไม่ต้องการหารเวลาด้วย 8 ดังนั้น CKDIV8 ควรเป็น 1

CKOUT ฉันจะออกจากค่าเริ่มต้นของ 1

หากสมมติฐานของฉันถูกต้อง (และฉันจะยืนยันได้อย่างไร) การตั้งค่าบิต lfuse ของฉันจะเป็น 0xf7

ฉันทำถูกไหม


สิ่งนี้ไม่ทำงาน ดูที่นี่

คำตอบ:


6

Arduino ใช้การตั้งค่าฟิวส์ต่ำที่ 0xff สำหรับ ATMega328p ซึ่งเหมือนกับ 0xf7 ยกเว้นคริสตัลไม่ได้ตั้งโปรแกรมเป็นวงสวิงแบบเต็ม แนะนำให้ใช้การสวิงแบบเต็มสำหรับความเร็วที่มากกว่า 8MHz และโดยเฉพาะอย่างยิ่งหากหลาย ๆ หน่วยใช้แหล่งสัญญาณนาฬิกาเดียวกัน



4

สำหรับชิป ATmega * 8 หนึ่งในแหล่งข้อมูลที่ดีที่สุดในการเปลคือไฟล์Arduino "boards.txt" ซึ่งประกอบด้วยการตั้งค่าสำหรับชิปและการกำหนดค่าทั่วไปหลายอย่าง


2

ลองใช้AVRFuses นั่นคือสิ่งที่ฉันใช้สำหรับฟิวส์ทั้งหมดและใช้งานได้ดี

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