Configuración del oscilador externo para atmega328p

0

Estoy tratando de usar un oscilador de 8MHz en un atmega328p. esto es parte de todo el esquema:

aqueheestablecidoelbyteFusiblecomocalculado

luego he establecido los valores calculados en el proyecto:

Para asegurarme de que el uc ist funciona correctamente en 8MHz, ya que no tengo un osciloscopio, estoy tratando de encender un LED cada 1 segundo, aquí está el código que escribí para eso:

#define F_CPU 8000000
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{

DDRD |= (1 << PD5); 
    while(1){
        PORTD |= (1 << PD5);  
        _delay_ms(1000);     
        PORTD &= ~(1 << PD5);
        _delay_ms(1000);     
    }
    return 0;
    }

¡Hasta donde puedo ver el IED toma 8 segundos para cambiar su estado! cuando cambio el valor de F_CPU a 1MHz, el cambio es correcto, lo que significa que todavía estoy ejecutando el oscilador interno.

¿Alguna idea de lo que me estoy perdiendo? gracias por adelantado !

    
pregunta Engine

1 respuesta

2

Revisaste el bit de fusible dividido por 8. Así que la CPU corre a 8mhz / 8. Desmarcarlo.

    
respondido por el dannyf

Lea otras preguntas en las etiquetas