Quiero cambiar los bits de fusible del ATMega328 para que funcionen con un reloj externo (función / generador de señales) en lugar del cristal. La velocidad del reloj será de 8MHz. He intentado durante meses y todos mis intentos fracasaron porque bloqueé los chips debido a conexiones incorrectas o malentendidos de los bits.
Entiendo la parte en la que necesitamos configurar el CKSEL a 0000 (Reloj externo)
También entiendo cómo utilizamos avrdude y conectamos la entrada del reloj (generador de funciones) al XTAL1
Mi comando sería algo como esto:
avrdude -c avrispmk2 -p atmega328p -P COM6 -U lfuse:w:0xe0:m -U hfuse:w:0xde:m -U efuse:w:0xff:m
He comprado un ISP avrispmk2 y creo que en este momento tengo las conexiones adecuadas en la placa base.
Mi pregunta es, después de quemar el fusible de chips, ¿qué tipo de modificaciones necesito hacer en el archivo boards.txt?
¿Debo incluir los bits de fusible o algo adicional en boards.txt?
atmega328p.name=Mynewarduino
atmega328p.upload.protocol=avrispmkII
atmega328p.upload.maximum_size=32256
atmega328p.build.mcu= atmega328p
atmega328p.build.f_cpu=8000000L // clock speed is 8mhz now
atmega328p.build.core=arduino
atmega328p.build.variant=standard
¿Qué otra cosa debería estar en el archivo boards.txt personalizado?
Lo he intentado durante meses y agradecería cualquier respuesta o comentario. ¿Podría explicarme los pasos que puedo seguir sin arruinar otro chip?
Si entiendo el procedimiento correctamente, ¿son estos los pasos?
-
Realice las conexiones adecuadas con ATmega328 y la placa Arduino sin chip, conéctese con el ISP (mkii)
-
Queme los fusibles con la avrdude según los bits de los fusibles, mientras que el generador de señales está conectado a XTAL1 como 8MHz
-
En boards.txt, cambie la F_CPU a 8000000L (o necesita crear una nueva entrada boards.txt?)
-
Luego, cargue el boceto de parpadeo con Arduino IDE (¿necesito cargar usando el programador?)
Si me falta algún paso, apreciaría escucharlo.